抽象类,可以不实现所有方法,它具有定义抽象方法的特殊能力,这些抽象方法只是缺少方法体的方法原型。
方法原型,是指方法的定义是剔除了方法体之后的签名。它包括存取的级别、函数的关键字、函数名和参数。它不包含花括号{}或者括号内部的任何代码。例如
public function prototypeName($proteparam);就是一个方法的原型。
由于抽象类没有为它所声明的所有方法都定义实现,所以不可以直接实例化。
抽象类有以下几个特点:
1:某个类只要包含抽象方法就必须声明为抽象类。
2:声明为抽象的方法,在实现的时候必须包含相同或者更低的访问级别。例如,如果某个方法在抽象类中的级别是受保护的,在继承类中它就必须是受保护的或者公共的,而不能是私有的。
3:不能使用new关键字创建抽象类的实例。
4:被声明为抽象的方法不能包含函数体。
5:如果将扩展的类也声明为抽象的,在扩展抽象类时,就可以不用实现所有的抽象方法。
方法原型,是指方法的定义是剔除了方法体之后的签名。它包括存取的级别、函数的关键字、函数名和参数。它不包含花括号{}或者括号内部的任何代码。例如
public function prototypeName($proteparam);就是一个方法的原型。
由于抽象类没有为它所声明的所有方法都定义实现,所以不可以直接实例化。
抽象类有以下几个特点:
1:某个类只要包含抽象方法就必须声明为抽象类。
2:声明为抽象的方法,在实现的时候必须包含相同或者更低的访问级别。例如,如果某个方法在抽象类中的级别是受保护的,在继承类中它就必须是受保护的或者公共的,而不能是私有的。
3:不能使用new关键字创建抽象类的实例。
4:被声明为抽象的方法不能包含函数体。
5:如果将扩展的类也声明为抽象的,在扩展抽象类时,就可以不用实现所有的抽象方法。