博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C++】面向对象程序设计
阅读量:4185 次
发布时间:2019-05-26

本文共 907 字,大约阅读时间需要 3 分钟。

面向对象程序设计

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

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

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

从计算机的观点看对象

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

2.内存既存数据,又存代码,只有对象中的代码能访问存储于对象中的数据。这清楚地限定了对象所具有的功能,并且使得对象不受未知外部事件的影响,从而使自己的数据和功能不会遭受破坏.
3.对象之间只能通过函数调用来实现相互通信.
4.当对象的一个函数被调用时,对象执行内部的代码来响应该调用,从而使对象呈现一定的行为。这个行为及其呈现出来的结果就是该对象所具有的功能.

面向对象的特征

1.抽象

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

2.封装

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

通过限制对属性和操作的访问权限,可以将属性”隐藏”在对象内部,对外提供一定的接口,在对象之外,只能通过接口对对象进行操作。
封装性增加了对象的独立性,从而保证了数据的可靠性。
比如:我们不关心电视机的内部工作原理,我们直接使用选台、调音量等功能。

3.继承

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

继承性大大简化了对问题的描述,大大提高了程序的可重用性。
比如汽车是机动车的一种,具有机动车的性质,又有自己特殊的性质,机动车又具有车的性质。

4.多态

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

继承与多态的组合,可以生成很多相似但又独一无二的对象。继承使这些对象可以共享许多相似特性,而多态又使同一个操作对不同的对象产生不同表现形式。这样不仅提高了程序设计的灵活性,而且减轻了分别设计的负担。

转载地址:http://rouoi.baihongyu.com/

你可能感兴趣的文章
Apache Doris 在美团点评的实践
查看>>
Google的CacheBuilder缓存
查看>>
正则表达式中(?:pattern)、(?=pattern)、(?!pattern)、(?<=pattern)和(?<!pattern)
查看>>
Linux进程内存分析pmap命令
查看>>
为什么需要 Stream
查看>>
1.什么是显著性检验? 2.为什么要做显著性检验? 3.怎么做显著性检验?
查看>>
假设检验|第三章:统计学中的显著性水平α和P
查看>>
Guava系列之不可变集合
查看>>
高可用性及容灾的几个衡量指标
查看>>
[Google Guava] 12-数学运算
查看>>
什么是IDC ,可以用来做什么
查看>>
Guava限流RateLimiter
查看>>
Guava系列之Cache
查看>>
Guava refreshAfterWrite只阻塞回源线程,其他线程返回旧值
查看>>
SQL执行计划分析
查看>>
MySQL执行计划extra中的using index 和 using where; using index 的区别
查看>>
执行计划的extra字段---- using where , using index 和 using where & using index 整理
查看>>
MySQL分页查询优化
查看>>
箱须图
查看>>
group by与distinct效率分析及优化措施
查看>>