它们更容易编写和理解!

以前所有的课程都有一个共同点--他们都是非面向对象的。现在你已经对这些概念的一个基本的处理,我们可以进行面向对象编程(OOP),其中真正的收益!
在传统的编程中,程序基本上是向计算机的指令列表,通过定义数据(通过变量),然后使用这些数据(通过语句和函数)。数据和工作在该数据的功能是单独的实体,这些实体结合在一起,以产生所需的结果。
那么什么是面向对象的编程呢?与许多事情一样,它也许是最容易理解的,通过使用一个比喻。看看你周围-你看起来都是对象。对象有两个主要成分:1)列出相关的特性(如重量、颜色、大小、硬度、形状等),和2)的一些行为,他们可以展示(例如被打开,使东西热,等..)。这些属性和行为是不可分割的。
与传统的编程,属性(数据)和行为(功能)是独立的实体,这意味着传统的编程往往不提供一个非常直观的现实代表。它是由程序员来管理和连接的属性以适当的方式的行为。
面向对象编程(OOP)为我们提供了设计一个“对象”的能力,其属性和行为联系在一起,成为一个独立的、可重复使用的包装。这允许以一个更模块化的方式编写程序,这使得它们更容易编写和理解,同时也提供了更高程度的代码重用性。对象也提供了一个更直观的方式来与我们的数据,使我们能够定义我们如何与对象交互,以及它们如何与其他对象进行交互。注意,OOP并不取代传统的编程方法。相反,它给你额外的工具,在你的编程工具带管理的复杂性,当需要。

面向对象的编程也带来了一些其他有用的概念表:继承,封装,抽象和多态性(语言设计者有一个理念:永远不要使用一个小字,一个大的人会做的)。我们将在接下来的几章中,在即将到来的教程中覆盖所有这些概念。这是一个很大的新材料,但一旦你已经正确地了解OOP,你可能永远都不想回到传统的纯编程了。

这可能听起来像一个愚蠢的问题,但在面向对象以外的其他main()必须是一个对象的一切(即声明为类)或可以创建对象在适当的地方就用普通功能的时候是不是真的有必要创建一个对象。
我有一些代码,创建并显示一个弹出消息框,这是非常短暂的(1键)。这似乎有点愚蠢的把它放在一个班,我必须声明一个动态对象,然后调用一个方法然后删除对象,而不仅仅是调用一个函数。也就是说,当我在学习的时候,我不想陷入坏习惯。
它没有帮助,我的工作是ncurses这实际上是一个C库。


1
2
3
4
5
6
7
8
9
class Cents
{
private:
	int m_cents;
 
public:
	Cents(int cents) { m_cents = cents; }
	int getCents() const { return m_cents; }
};

重载运算符(+)和声明一个名为运算符+的函数一样简单,给它两个我们要添加的操作数的参数,选择一个合适的返回类型,然后编写函数。
在我们的美分对象的情况下,实施我们的运营商+()的功能是非常简单的。首先,参数类型:在这个版本的运营商+,我们要添加两个美分的对象,所以我们的功能将采取两个对象的类型美分。第二,返回类型:我们的运营商+将返回一个类型美分的结果,所以这是我们的回报类型。
最后,实施:添加两美分的对象在一起,我们真的需要添加m_cents成员从每一美分的对象。因为我们的重载操作符+()函数是类的一个朋友,我们可以直接访问我们的参数m_cents成员。同时,因为m_cents是一个整数,和C++知道如何添加整数一起使用加号,与整数运算内置的版本,我们可以简单地使用+运算符做添加。
重载减法运算符(-)也很简单:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值