-
封装
又称信息隐藏或者数据访问保护。外部只能通过类提供的方法来访问数据。
需要编程语言提供权限访问控制语法来支持,例如Java中的private、protected、public关键字。
意义:一方面保护数据不被随意修改,提高代码的可维护性;另一方面是仅暴露有限的必要接口,提高类的易用性。 -
抽象
讲如何隐藏方法的具体实现。
可以通过接口类或者抽象类来实现。
并不需要特殊的语法机制来支持。
意义:一方面是提高代码的可扩展性、维护性,修改实现不需要改变定义,减少代码的改动范围;另一方面,它也是处理复杂系统的有效手段,能有效地过滤掉不必要关注的信息。 -
继承
是一个非常有争议的特性,过度使用继承,继承层次过深过复杂,就会导致代码可读性、可维护性变差。
为了实现继承这个特性,编程语言需要提供特殊的语法机制来支持。
意义:用来解决代码复用的问题。 -
多态
指子类可以替换父类,在实际的代码运行过程中,调用子类的方法实现。
多态这种特性也需要编程语言提供特殊的语法机制来实现。- 第一个语法机制是编程语言要支持父类对象可以引用子类对象.
- 第二个语法机制是编程语言要支持继承
- 第三个语法机制是编程语言要支持子类可以重写(override)父类中的方法
多态特性能提高代码的可扩展性和复用性。