
抽象类与接口紧密相关,它们不能实例化,并且常常部分实现或根本不实现。抽象类和接口之间的一个主要差别是:类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承。从抽象类派生的类仍可实现接口。可以在创建组件时使用抽象类,因为它们使您得以在某些方法中指定不变级功能,但直到需要该类的特定实现之后才实现其他方法。抽象类也制定版本,因为如果在派生类中需要附加功能,则可以将其添加到基类而不中断代码。
对于PHP程序员而言,最难掌握的点是PHP抽象应用程序的知识. 作为新手,我不必使用面向对象的知识进行编程,但是在将来,不可避免的是使用类来封装或使用接口来开发各种模块中的程序.
在自然语言中,我们将抽象概念理解为对对象的大描述. 此描述是特定类型对象的共同特征. 因此抽象类,在PHP中也是如此. 我们抽象一个类以指定该类的一般行为. 此类应为模板,指示其子方法必须实现的某些行为.
PHP抽象类应用程序的定义:

抽象类ClassName {
}
PHP抽象类应用程序的要点:
1. 定义一些方法,子类必须完全实现此抽象中的所有方法
2. 无法从抽象类创建对象,其含义需要扩展
3. 抽象类通常具有抽象方法,并且这些方法中没有括号
PHP抽象类应用程序的要点:
1. 抽象方法不需要实现特定的功能,它是由子类完成的

2. 当子类实现抽象类的方法时,子类的可见性必须大于或等于抽象方法的定义
3. 抽象类的方法可以有参数,也可以为空
4. 如果抽象方法具有参数,则子类的实现也必须具有相同数量的参数
PHP抽象类应用程序示例:

抽象public function_name(); //请注意,没有括号
PHP抽象类规则:
只要一个类至少包含一个抽象方法,就必须将其声明为抽象方法. 它不能包含继承抽象类的函数体的子类. 如果实现了抽象方法,则它必须等于或低于抽象方法. 访问级别继承了抽象类的子类. 如果未实现所有抽象方法抽象类,则子类也是抽象类
作为演示,让我们实现一个简单的抽象类: 计算矩形的周长. 可以从形状类扩展此矩形.
< ?PHP abstract class Shape { abstract protected function get_area(); //和一般的方法不同的是,这个方法没有大括号 //你不能创建这个抽象类的实例:$Shape_Rect= new Shape(); } class Rectangle extends Shape{ private $width; private $height; function __construct($width=0, $height=0){ $this->width=$width; $this->height=$height; } function get_area(){ echo ($this->width+$this->height)*2; } } $Shape_Rect = new Rectangle(20,30); $Shape_Rect->get_area(); ?>
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-289587-1.html
台湾人民也想两岸统一
感觉丢了面子
诺列加的前车之鉴你忘了