php抽象类和接口
abstract 关键字 代表抽象类;
场景联想:如果项目经理需要对所有的子类进行规范,就是说,这些成员必须有,且必须使用那些名字,就需要使用抽象类的概念了;
1.抽象类不能实例化;
2.如果一个类里面有其他方法,被申明为抽象类了,这个类就得声明抽象类
3.只要这个方法被声明抽象方法,就不能写函数体,将函数后面的{}去掉,函数体有子类实现;
4.在继承一个抽象类的时候,子类必须定义父类中的所用抽象方式;不是抽象方法,子类可以不用定义;
接口 interface
接口的用途和抽象类差不多,都是为了写一些规范;
1.使用interface关键字定义接口,接口在方法都是空的没有函数体。
2.接口中所有的方法都是public。
3.使用implements这个操作符。
4.一个类可以实现多个接口,接口和接口之间只要,隔开。
5.接口和接口之间的方法尽量不要重名,如果重名了,那么参数等要保持一致
抽象类和接口的区别:
1.接口使用implements而抽象类使用extends实现;
2.接口中只能声明公有的方法 抽象类属性 常量 方法 都可以声明;
3.接口没有构造函数,抽象类有;
4.接口可以实现多个接口,但是抽象类只能继承一个;