聊一聊面向对象编程
  热度 °
面向对象编程是一种编程范式。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石。
封装
What: 隐藏信息(隐藏属性字段),保护数据访问(仅提供有限的公共方法操作属性字段)。
How: 暴露有限的接口和属性,需要编程语言提供访问控制的语法, 如Java 中的 private、protected、public 关键字。
Why: 提高代码可维护性;降低接口复杂度,提高类的易用性。
抽象
What: 隐藏方法的具体实现,使用者只需关心方法提供了哪些功能,无需关心内部实现。
How: 通过接口类或者抽象类实现,特殊语法机制非必须,如Java中的interface, abstract关键字。
Why: 提高代码的扩展性、维护性;降低复杂度,减少细节负担。
继承
What: 表示 is-a 关系,分为单继承和多继承。单继承表示一个子类只继承一个父类,多继承表示一个子类可以继承多个父类。
How: 需要编程语言提供特殊语法机制。例如 Java 的 “extends”,C++ 的 “:” 。
Why: 解决代码复用问题。
多态
What: 子类替换父类,在运行时调用子类的实现。
How: 需要编程语言提供特殊的语法机制。比如继承、接口类、duck-typing。
Why: 提高代码扩展性和复用性。
作者署名:朴实的一线攻城狮
本文标题:聊一聊面向对象编程
本文出处:http://researchlab.github.io/2021/02/20/oop/
版权声明:本文由Lee Hong创作和发表,采用署名(BY)-非商业性使用(NC)-相同方式共享(SA)国际许可协议进行许可,转载请注明作者及出处, 否则保留追究法律责任的权利。