面向对象三大特征:
- 封装:将同一类事物的特征和功能包装在一起,只对外暴露其接口,使用者只需调用不需知道底层实现。好处在于便于分工合作,利于代码解耦,可以自由修改类的内部结构;
- 继承:在已有类中派生新的类,子类可以继承父类的属性和方法并扩展新的内容。一个子类只能有一个父类,父类是子类的抽象化而子类是父类的具体化;
- 多态:三大特征中最重要的操作,是同一个行为具有不同表现形式的能力,多态是一个接口,使用不同的实例执行不同的操作
接口与抽象类的异同:
相同点 | 不同点 |
---|---|
都是上层抽象 | 抽象类可包含方法的实现,接口则只能包含方法的声明 |
不能被实例化 | 继承类只能继承一个抽象类,实现类可以实现多个接口 |
都可以包含抽象方法 | 抽象级别:接口>抽象类>实现类 |
1 | 作用不同:接口用于约束程序行为,继承则用于代码复用 |