编程概念:面向对象编程 (OOP)
外观
过程式编程使用过程使代码更易于编写和理解,而面向对象编程 (OOP) 则更进一步,使用对象使代码更易于创建和使用。
在 OOP 中,"对象"一词具有特殊的含义:对象被定义为组织源代码的一种特定方式。简而言之,对象是以下内容的组合:
- 一些相互关联的数据(即变量)
- 专门设计用于处理这些数据的过程
示例 汽车可以用 Car 对象来表示。
|
如果程序只需要几行源代码就能写完,那么使用这种技术没有任何优势。过程式编程和面向对象编程之所以被发明出来,是因为程序越来越长,越来越难以使用。程序员需要更多的结构来简化编程过程。
中等大小和复杂程度的程序可以使用过程来简化。对于特别大或复杂的程序,过程是不够的;OOP 作为一种处理这些非常复杂程序的方法而流行起来。
程序在原始源代码中可能很复杂 - 很多行代码,很多过程。或者它在编写方式上可能很复杂 - 很多人类作者,不同部分之间有很多交互。OOP 对这两种情况都有帮助。
在涵盖关键概念后,我们将详细分析支持和反对 OOP 的理由。
OOP 起源于观察过程式编程中更有效(更易于编写,错误更少)的编写方式。在过程式编程中可选的几种技术成为了 OOP 的核心。
- 封装 - 一种编程语言机制,用于限制 IT 开发人员对对象某些数据的直接访问。Student 对象可以具有公共变量 knowledge_level 和私有变量 critical_information)。
- 聚合 - 聚合对象是一个包含其他对象的对象。例如,Car 类将包含 Engine、Wheels、Cabin、Fuel 对象。有时类指的是现实世界的物理对象(如汽车)。有时它更抽象(例如,大学和学生)。
- 组合 - 组合类似于聚合,但它是一种实时技术。使用接口,您可以实时替换对象。但对象必须具有相同的类型。
- 接口 - 接口将实现与结构分离。它就像汽车的数字音频面板 - 您可以在摇滚、古典音乐或例如星光 FM 电台之间进行选择。当对象的实现可以互换时,这个概念很有用。此外,请注意,如果实现频繁更改,您可以使用这种技术!