多态:
1.抽象类是一个特殊的方法,接口是特殊的抽象类,多态就是使用抽象类和接口
2.是面向对象设计的重要特性,它展现了动态绑定的功能,也称为”同名异式“。多态的功能可以让软件在开发和维护时,达到充分的延伸性。事实上,多态最直接的定义就是让具有继承关系的不同类对象,可以以相同名称的成员函数调用,产生不同的反应效果
抽象类:
1.如果这个类有一个抽象方法,这个类就是抽象类,必须用abstract修饰.
2.使用抽象类就必须子类去继承抽象类,子类必须实现抽象类的方法
目的:定义一些规范,让子类按照抽象类的规则去实现自己的功能
abstract class Person3{
abstract function test();//抽象方法必须用abstract修饰
}
class Person4{
function test(){
echo "实现抽象方法 <br>";
}
}
$person4 = new Person4();
$person4->test();
接口:
如果想定义一些规范又想继承其他类就需要使用接口。
接口和抽象方法的对比
1.都不能创建对象,都需要子类去继承
2.声明的方式不一样
3.接口被实现的方式不一样
4.接口中的所有方法都是抽象方法,不需要用abstract修饰
5.接口中的成员属性只能声明常量,不能声明变量
6.接口的访问权限都是public,抽象类的最低权限是protceted
7.可以使用抽象类去实现接
8.接口可以继承接口
9.实现多个接口用 逗号隔开
interface DemoInterface{//接口类用interface声明
function fun1();
}
class InterfaceTest implements DemoInterface{//用implements去实现接口
function fun1(){//子类比较定义接口的方法
}
}