面向对象
1. 封装
- 定义
隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。 - 目的
增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。
2. 继承
- 定义
对象之间是:is-a关系
通过 extends 来标明关系 - 目的
实现代码的复用
继承的优缺点
优点:
- 1.代码重用,减少创建类的成本,每个子类都拥有父类的属性和方法
- 2.子类和父类基本相似,但又与父类有所区别
- 3.代码可在子类中得以扩展
缺点:
- 1.继承是侵入性的,只要继承就必须拥有父类的所有属性和方法
- 2.可能造成子类冗余、降低灵活性,因为子类必须拥有父类的属性和方法
- 增强了耦合性。 当父类的常量、 变量和方法被修改时, 需要考虑子类的修改, 而且在缺乏规范的环境下, 这种修改可能带来非常糟糕的结果——大段的代码需要重构。
多态
定义
相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。
继承、重写、向上转型。
父类引用指向子类对象目的
程序的可扩展性及可维护性增强。