LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 266|回复: 0

C++面向对象编程

[复制链接]
发表于 2024-1-9 16:19:24 | 显示全部楼层 |阅读模式
在传统的编程中(我们在此之前一直在做的),程序基本上是计算机的指令列表,它们通过对象定义了数据,然后通过语句和函数使用该数据。数据和处理这个数据的函数是单独的实体,它们组合在一起以产生所需的结果。由于这种分离,导致传统编程在表达上不够直观。程序员可以通过适当的方式管理属性(变量)并将其连接到行为(函数)。用代码表示看起来像这样:

driveTo(you, work);

那么什么是面向对象编程?我们来打个比喻吧。看看你周围,你所看到的一切都是一个个对象:书、建筑物、食物,甚至你自己。对象有两个主要组成部分:1)相关的属性列表(例如,重量、颜色、大小、坚固性、形状等);2)一些行为(例如,门可以打开、火能让其他东西变热等)。这些属性和行为是不可分割的。

面向对象编程(OOP)为我们提供了创建对象的能力,这些对象将属性和行为绑定到一个独立的、可重用的包中。用代码表示看起来更像这样:

you.driveTo(work); //你(是个对象)开车去上班(是个行为)

这不仅读得更清楚,而且使对象(你)和被调用的行为(开车到某个地方)更清晰明了。我们关注的不是编写函数,而是定义这些具备各种行为的对象。这就是为什么这种范式被称为“面向对象”。

以这种更模块化的方式编写代码,会让程序更容易编写和理解,并且提供了更高程度的代码重用性。我们可以定义如何与这些对象交互以及它们如何与其他对象交互,从而以更直观的方式来处理我们的数据。

注意,OOP不能取代传统的编程方法。相反,它在编程工具带中为您提供了额外的工具,以便在需要时管理复杂性。

面向对象编程还带来了其他几个有用的概念:继承、封装、抽象和多态性。在接下来的几章中,我们将介绍所有这些概念。这些概念看起来挺多,但是一旦你已经熟悉了OOP,你可能再也不想回到传统的编程方式了。

注意,“对象”这个词可以表达的事情太多了,容易造成混淆。在传统编程中,对象是存储值的一块内存,仅此而已。在面向对象编程中,“对象”意味着它既是传统编程意义上的对象,同时又是属性和行为的结合。所以从现在开始,当我们使用术语“对象”时,我们指的是面向对象编程里的“对象”。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表