您的位置:首页 > 编程语言 > C语言/C++

【C++】面向对象程序设计

2016-09-18 15:50 218 查看

面向对象程序设计

  以对象为中心的思维方式,每个对象用自己的方法来管理数据,也就是说只有对象内部的代码能够操作对象内部的数据。只要暴露出的接口稳定,即使对象内部发生变化,对外界来说也不认为它发生了变化。同类对象还可抽象出共性,形成类(class)。

程序 = 对象 + 对象 + 对象 + 消息传递

对象 = (算法 + 数据结构)

从计算机的观点看对象

1.对象是计算机内存中的一块区域,通过内存分块每个对象在功能上相对保持独立.

2.内存既存数据,又存代码,只有对象中的代码能访问存储于对象中的数据。这清楚地限定了对象所具有的功能,并且使得对象不受未知外部事件的影响,从而使自己的数据和功能不会遭受破坏.

3.对象之间只能通过函数调用来实现相互通信.

4.当对象的一个函数被调用时,对象执行内部的代码来响应该调用,从而使对象呈现一定的行为。这个行为及其呈现出来的结果就是该对象所具有的功能.

面向对象的特征

1.抽象

抓住事物本质,而不是内部具体细节或具体实现(一般无此特征)

2.封装

按照信息屏蔽的原则,把对象的属性和操作结合在一起,形成一个独立的对象。

通过限制对属性和操作的访问权限,可以将属性”隐藏”在对象内部,对外提供一定的接口,在对象之外,只能通过接口对对象进行操作。

封装性增加了对象的独立性,从而保证了数据的可靠性。

比如:我们不关心电视机的内部工作原理,我们直接使用选台、调音量等功能。

3.继承

当定义了一个类之后,又需定义一个新类,这个新类与原来的类相比,只是增加或修改了部分属性和操作,这时可以用原来的类派生出新类,新类中只需描述自己所特有的属性和操作。

继承性大大简化了对问题的描述,大大提高了程序的可重用性。

比如汽车是机动车的一种,具有机动车的性质,又有自己特殊的性质,机动车又具有车的性质。

4.多态

同一个消息发送给不同的对象,产生不同的结果,即实现同一接口,不同方法。

继承与多态的组合,可以生成很多相似但又独一无二的对象。继承使这些对象可以共享许多相似特性,而多态又使同一个操作对不同的对象产生不同表现形式。这样不仅提高了程序设计的灵活性,而且减轻了分别设计的负担。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: