面向对象编程概念(OOP)简化版!!!
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
在本文中,我想介绍一种优美的编程范式,它可以解决许多现实生活中的编程问题。
让我们一起来了解一下什么是面向对象编程(OOP),OOP背后的理念以及OOP的主要概念。本文将以非编程术语,也就是通俗易懂的语言进行阐述。
注:读完本文并理解后,学习面向对象编程语言就会变得容易。这将有助于你更好地理解任何面向对象编程语言。
什么是面向对象编程(OOP)?
面向对象编程是一种编程范式/方法,用于编写针对给定问题陈述的解决方案。
简单来说,它是一种编写计算机程序的方式,它使用“对象”的概念作为参考来表示数据和方法。
举例来说:假设要造一辆汽车。造车需要考虑很多方面。
- 绘制汽车外观的设计蓝图。
- 制造汽车所需的材料。
- 建造者应该能够接触到的东西。
- 驾驶员可以接触到的东西。
- 与其相关的事物应该如何运作
- 不同的事物如何帮助其他事物发挥作用
这里,数据指的是事物本身,而方法则是与这些数据相关的功能。面向对象范式的基本思想是将数据和功能绑定在一起,以便于解决现实世界的问题。
基本上,一些现实世界的问题可以通过采用面向对象的方法得到有效解决,例如上面的例子,制造汽车就是问题陈述。
我们将如何着手,随着工作的推进自然就会明白。
你可能已经在上面看到了“对象”这个词。那么,对象是什么呢?
对象是面向对象编程的基本单元。它是由数据和方法(事物及其功能)组成的单元,并根据蓝图构建而成。
以上述例子为例,我们可以说,汽车是一个对象。它将所有部件和功能整合在一起,从而具备车辆的行为能力。
说到蓝图,就不得不提另一个重要的术语“类”,它本质上就是创建对象的蓝图。
例如,对于汽车蓝图,我们会考虑一些基本特征,例如燃料、燃料类型、要使用的发动机、外观设计、车辆点火后的功能等等。
利用蓝图可以批量生产汽车,而无需从头开始重新制造机器。
这基本上清晰地展现了面向对象编程
的本质 。
现在,让我们来看一下面向对象编程概念的主要特征:
- 抽象
- 封装
- 遗产
- 多态性
你说的“抽象”是什么意思?
其含义很简单,就是展示模块的基本特征,隐藏内部功能的细节。
例如:驾驶员使用油门踏板时,无需了解其机械原理。他只需要知道,踩下油门踏板,汽车就会加速。
水由氢和氧组成,但我们看到的却是液态水(抽象概念)。
现在我们来了解另一个术语,“封装”。
它是一种对事物(数据)进行封装的方法,某种程度上,它也能发挥作用,实现一些富有成效的目标(方法)。本质上,它是将数据和方法结合起来进行分类。换句话说,我们也可以将其定义为:在无需完全理解问题领域的情况下,提出问题解决方案的一种方式。
类/接口是帮助在编程层面实现封装的特性之一。
例如:在汽车设计/集成团队中,负责汽车照明系统的成员不需要了解汽车制动系统的工作原理,就这么简单。
现在,解释一下“继承”这个术语。
顾名思义,“继承”是指将某些特性(方法)或数据从父模型传递给子模型的一种方式。这是面向对象编程(OOP)中的一项重要特性,它本质上允许你重新定义模型。
另一个例子:假设有一款名为 X 的汽车,并且计划推出 A 型和 B 型两款车型。A
型的设计和实现已经完成。B 型除了轮胎和碟刹系统之外,其他方面几乎与 A 型相同。
因此,B 型可以沿用 A 型的设计,并根据自身对轮胎和碟刹系统的需求进行调整。明白了
吗?他们无需从头开始重新设计,而是直接继承 A 型的设计和功能。
最后,我们来谈谈“多态性”。
多态性是指定义同一对象不同实现方式的特性。
简单来说,“多态性”是一种允许以不同形式定义相同功能的特性。
一个简单但有效的例子是将“Cut”用作多态词;
- 外科医生会开始切开皮肤。
- 理发师开始给某人剪头发。
- 演员会突然停止当前场景的表演。
另一个例子:汽车 X 有 A 型和 B 型两种车型,两种车型都需要燃料才能行驶。
例如,A型车使用汽油,而其他车型则使用柴油。因此,尽管功能相同,但汽车发动机的设计却各不相同。
这就是面向对象编程(OOP)概念的简单之处。我希望你至少对OOP是什么以及它的特点有了基本的了解。
这基本上是对面向对象编程的概括性阐述。
如果你真的想让我从编程的角度解释面向对象编程的话。
欢迎留言。这是我的 Medium 文章
的修订版。
敬请期待更多文章。
联系我:mrshravankumarb@gmail.com




