C++三大特性
Posted _从未止步
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++三大特性相关的知识,希望对你有一定的参考价值。
C++三个特性是封装,继承,多态。我在这里只是概括一下他们的概念以及作用,要展开去将他们,不是一时半会儿能说明白的,我觉得大家可能都想着去将它深层的东西,所以我就简单的谈谈他们的作用。
封装。在面向对象设计中,封装是指数据和实现操作的代码集中起来放在对象内部,并尽可能隐蔽对象的内部细节。对象好像是一个不透明的黑盒子,从外面是看不见的,更不能从外面直接访问或修改这些数据以及代码。我们将对象的特性称为“成员变量”,将对象的行为成为“成员函数”,被封装的特性只能通过特定的行为去访问。
所谓封装具有两方面的含义:一是将有关的数据和操作代码封装在一个对象中,各个对象相互独立,互不干扰。二是将对象中某些数据与操作代码对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界消息。
封装的好处是:将对象的使用者和设计者分开,大大降低了人们操作对象的复杂程度。使用者不必知道对象行为的实现细节,只需要使用者提供的接口即可自如地操作对象。封装的结果实际上隐蔽了复杂性,并提供了代码重用性,从而减轻了开发一个软件系统的难度。
继承。继承是面向对象另一个很有吸引力的特性就是继承,继承就是事物具有祖先特性,当然事物还可以具有自己的特性。具体都的说,继承机制允许派生类继承基类的数据和操作,也就是说允许派生类使用基类的数据和操作,同时派生类还可以增加新的数据和操作。
我认为继承的主要作用是可以让我们站在巨人肩上进行开发,如果没有继承机制,每次的软件开发都要从“一无所五”开始,这将严重影响开发的效率。采用继承的方法可以很方便地利用一个已有的类建立一个新的类,这就可以重用已有软件中的一部分甚至大部分,这样减少了代码的重复开发,增加了程序的可重用性,减少开发时间,这一点也就是常说的“软件重用”思想。
继承的种类其实是很复杂的,单继承,多继承,钻石继承,多层继承,虚继承,虚钻石继承等等,这些讲起来需要花费很大的功夫(这里就不细讲了)
多态。面向对象中的多态不同的对象收到相同的消息时产生多种不同的行为。实现多态的方法主要两种,一种是编译时多态,主要由重载和模板来实现;一种是运行时多态,主要由虚函数(包括继承)来实现。
多态性增加了软件的灵活性以及重用性,为软件的开发和维护提供了极大的便利,尤其是采用了虚函数和动态连编机制后,允许用户更为明确,易懂的方式去建立通用的软件。
以上是关于C++三大特性的主要内容,如果未能解决你的问题,请参考以下文章