OOP三大特性之三
多态性
==========================
1、抽象方法和抽象类
1.1 抽象方法
没有语法体 function funName(); 用abstract 修饰 就被称为抽象方法。
1.2 抽象类
用abstract 修饰的类就是抽象类
1.3 抽象类和抽象方法的关系
抽象方法是抽象类的充分非必要条件
1.4 特点
① 抽象类不能被实例化
② 如果想使用抽象类,用子类继承并实现所有抽象方法
2、接口interface
如果一个类中都是抽象方法,则可以用接口代替
接口是一种只包含抽象方法的抽象类
格式:
interface 接口名
{
抽象方法 且不需要abstract修饰
}
特点:
① 接口中不能有非常量的成员属性
② 接口不能被实例化,用子类继承(实现)
③ 接口中的方法都是抽象方法,需要子类实现,不需要abstract修饰
④ 接口支持多继承 注意同名方法参数个数一致
3、接口和抽象类的区别
抽象类 接口
① 修饰符 abstract interface
② 成员 可以任意(抽象方法充分非必要) 只能常量和抽象方法
③ 实现方法 extends extends(继承) implements(实现)
④ 多继承支持 不支持 支持
4、多态性
子类继承父类或实现接口时,重写或完成方法时每个子类可能实现的都不一样,呈现出多种形态。
USB
动物