Home > Backend Development > PHP Tutorial > In-depth interpretation of the application of PHP abstract class_PHP tutorial

In-depth interpretation of the application of PHP abstract class_PHP tutorial

WBOY
Release: 2016-07-15 13:31:59
Original
1151 people have browsed it

I remember where I saw this sentence, abstract class extracts the analogous part. This sentence looks funny, but in fact it says abstraction The truth about classes and the role of abstract classes is that when you find that many of your classes use many methods that you keep rewriting, then you can consider using abstract classes. You may say, "I can't rewrite a class." For each public class, I instantiate this public class and call the same method." This is OK. In fact, this is what the abstract class does, but it saves you the step of instantiation, so that You are as convenient as directly calling the abstract method of the PHP abstract class, and you can also overload this method. Such as:

<ol class="dp-xml">
<li class="alt"><span><span>abstract class BaseShop  </span></span></li>
<li><span>{  </span></li>
<li class="alt"><span>public function buy($gid)  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>echo('你购买了ID为 :'.$gid.'的商品');  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>public function sell($gid)  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>echo('你卖了ID为 :'.$gid.'的商品');  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>public function view($gid)  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>echo('你查看了ID为 :'.$gid.'的商品');  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>class BallShop extends BaseShop  </span></li>
<li class="alt"><span>{  </span></li>
<li>
<span>var $</span><span class="attribute">itme_id</span><span> = </span><span class="attribute-value">null</span><span>;  </span>
</li>
<li class="alt"><span>public function __construct()  </span></li>
<li><span>{  </span></li>
<li class="alt">
<span>$this-</span><span class="tag">></span><span class="attribute">itme_id</span><span> = </span><span class="attribute-value">2314</span><span>;  </span>
</li>
<li><span>}  </span></li>
<li class="alt"><span>public function open()  </span></li>
<li><span>{  </span></li>
<li class="alt">
<span>$this-</span><span class="tag">></span><span>sell($this-</span><span class="tag">></span><span>itme_id);  </span>
</li>
<li><span>}  </span></li>
<li class="alt"><span>} </span></li>
</ol>
Copy after login

Here is an example. Like the above, I defined a store class and extracted all its parts like buy, sell, view, and If these methods are implemented in the abstract class, then the subclass that inherits it will automatically obtain these methods, and the subclass will do its own unique things, introduce duplication of code, and improve reusability.

Conclusion: The PHP abstract class is a class of service provider with many services. You don’t have to use them. You can use them when needed. If you feel dissatisfied with not providing services, you can still You can do it yourself.


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/446180.htmlTechArticleI remember where I saw this sentence, abstract class extracts the part of the class, this sentence looks very Funny, in fact it tells the truth about abstract classes. The function of abstract classes is that when you find...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template