C++之面向对象设计

面向对象程序设计(OOP)

客观世界中任何一个实物都可以看成一个对象 (object)。或者说,客观世界是由千千万万个对象组成的。任何一个对象都应当具有两个要素,即属性和行为,一个对象往往是由一组属性和一组行为构成的。例如,一台录影机是一个对象,它的属性是生产厂家、牌子、重量等,它的行为就是它的功能,例如可以给外界给他的信息进行录像、快进、快退等操作。在一个系统中的多个对象之间通过一定的渠道相互联系,要使某一个对象实现某一种行为,应当向它传入相应的消息。在C++中,每个对象都是由数据和函数这两部分组成的,函数是用来对数据进行操作的。

面向对象的三个基本特征:(http://www.cnblogs.com/iloverain/archive/2016/08/05/5726752.html

  • 封装:就是把客观的事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性. 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分.
  • 继承: 是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。(如果汽车制造厂想生产一款新型汽车,一般是不会全部从头开始设计的,而是选择已有的某一型号汽车为基础,再增加一些新的功能,就研制成了新型号的汽车。这是提高生产效率的常用方法。)它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现.继承概念的实现方式有二类:实现继承与接口继承.实现继承是指直接使用基类的属性和方法而无需额外编码的能力;接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力。
  • 多态:如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一消息时,它们的反应各不相同,分别执行不同的操作,这就是多态现象。即向不同对象发生同一个消息,不同的对象在接收时会产生不同的行为(即方法)。在C++中,所谓多态性是指:由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应。多态性反映了面向对象程序设计的灵活性。

猜你喜欢

转载自blog.csdn.net/baidu_29571167/article/details/84876329