PHP 抽象方法和抽象类
27
2014-01-26
抽象方法
一个方法如果没有方法体(即:方法不使用“{}”,直接使用分号结束),则这个方法就是抽象方法。
如果是抽象方法,则必须使用抽象关键字abstract
来修饰。
【作用】:
PHP抽象方法就是一个规定,规定了子类必须有这个方法的实现,即:功能交给子类实现。
抽象类
如果一个类中有一个方法是抽象方法,则这个类就是抽象类。
如果要声明一个抽象类,则必须使用抽象关键字abstract
来修饰。
【作用】:
抽象类就是要求子类的结构,就是一个规范。
注意事项
1、只要使用abstract
修饰的类就是抽象类。
2、抽象类是一种特殊的类。特殊在抽象类中可以有抽象方法,也可以没有抽象方法。
3、抽象类不能实例化对象,即:不能创建对象。
4、除了在抽象类中可以有抽象方法、不能实例化对象之外,和正常的类完全一样。
5、如果有抽象类,则必须写这个抽象类的子类,将抽象类中的全部抽象方法覆盖,即加上方法体,才能实例化对象。
6、如果写了抽象类的子类,但没有把全部的抽象方法覆盖,则该子类就必须加上abstract
关键字,成为子抽象类,不能实例化对象。
/* 猫斯基 www.maosiji.com */ abstract class Person { // 抽象方法 abstract function say(); abstract function eat(); function run() { echo 'ppppppp
'; } } class StudentCn extends Person { function say() { echo '我是中国人,我说中文。
'; } function eat() { echo '我用筷子吃饭。
'; } } class StudentEn extends Person { function say() { echo 'I am English, I speak in English.
'; } function eat() { echo 'I eat with a knife and a fork.
'; } } $s1 = new StudentCn(); $s1->say(); /* 打印结果: 我是中国人,我说中文。 */
本文由 猫斯基 原创发布。
著作权均归用户本人所有。独家文章转载,请联系本站管理员。获得授权后,须注明本文地址! 本文地址:https://www.maosiji.com/2566.html