抽象方法以及多态 一. 什么是抽象方法 1. 定义:一个方法如果没有方法体,则这个方法就是抽象方法。 2. 声明一个方法,不使用{} ,而直接分号结束 如果是抽象方法,必须使用abstract (抽象关键字来修饰) 二. 什么是抽象类? 1. 定义:如果一个类中有一个
抽象方法以及多态
一. 什么是抽象方法
1.定义:一个方法如果没有方法体,则这个方法就是抽象方法。
2.声明一个方法,不使用{},而直接分号结束
如果是抽象方法,必须使用abstract(抽象关键字来修饰)
二. 什么是抽象类?
1.定义:如果一个类中有一个方法是抽象的方法,则这个类就是抽象类
2.如果声明一个抽象类,则这个类要用abstract关键字来修饰
3.注意:只要使用abstract修饰的类就是抽象类。
抽象类是一种特殊的类,特殊在抽象类中可以有抽象的方法。
除了在抽象类中可以有抽象的方法以外,和正常的类完全一样。
三. 面向对象中的接口
抽象类是一种抽象的类,接口是一种特殊的抽象类,接口也是一种特殊的类。
1.抽象类和接口中都有抽象方法。
2.抽象类和借口都不能创建实例对象。
3.抽象类和接口的使用意义也就是作用相同。
接口和抽象类相比,接口中的方法必须全要是抽象方法,不能有不抽象的方法。接口中的成员属性,必须是常量,不能有变量。所有的权限必须是公有的(public)。声明接口不使用class,而是使用interface。(在接口的抽象方法中不需要使用abstract)。接口不能创建对象。
4.面向对象接口的应用。
可以使用extends让一个接口继承另一个接口。
可以使用一个类来实现接口中的全部方法,也可以使用一个抽象类,来实现接口中的部分方法。
只要是在子类中有覆盖,就不要使用继承extends,使用implements实现。Extends (继承或扩展),在php中,一个类只能有一个父类。
一个类可以在继承另一个类的同时,使用implements实现一个接口,可以实现多个接口(一定要先继承,在实现接口)
四. 面向对象的特性—多态
1.多态特性
1) 必须有继承关系,父类最好是接口或者抽象类,
五. 魔术常量
1. __class__回调类名