PHP中的抽象类和抽象方法

抽象类,接口,多态

  • 抽象类是一种特殊的类,接口是一种特殊的抽象类。多态需要使用到抽象类和接口
  • 声明抽象类和接口,以及一些需要的技术。

抽象类

  • 抽象方法:如果一个类中的方法,没有方法体的方法,就是抽象方法。没有使用大括号,直接使用分号结束。function test();如果一个方法是抽象方法,就必须使用abstract关键字修饰。
class Demo {
    function test () {}        //有方法体
    abstract funtion hello();    //抽象方法
}
  • 抽象类:如果类中有一个方法是抽象方法,这个类就是抽象类。如果一个类是抽象类,这个类必须要使用abstract进行修饰。抽象类是一种特殊的类,因为有个抽象方法,其他不变。抽象方法--抽象类。抽象类不能实例化对象。
  • 如果使用抽象类,需要继承该类,而且必须重写父类中的抽象方法。
  • 抽象类和接口在定义一些规范,子类需要实现这些方法。

接口:是一种特殊的抽象类,抽象类是一种特殊的类。

  • 接口和抽象类是一样的。
  • PHP是单继承的。
  • 接口的声明和抽象类不同。接口中的所有方法必须是抽象方法。接口被实现的方式不一样。
  • 接口中的成员属性,只能声明常量,不能声明变量。接口中的成员访问权限必须是public,抽象类中的最低的是protected,接口中的函数不用使用abstract进行修饰。
class 类名 {}
abstract class 类名 {}
interface 类名 {}

interface demo {
    const HOST = "localhost";

    function fun2();
}
  • 一个类实现一个接口,使用implements关键字。该类可以使用abstract修饰该类。两个接口之间可以继承,使用extends关键字。

猜你喜欢

转载自www.cnblogs.com/person3/p/9285293.html
今日推荐