面向对象概念

数据和操作

传统的编程语言通常划分成两个部分—数据和对数据的操作。数据是静态的,不变的,除非通过操作来改变它。对数据操作的函数并不保留上一次操作时数据的状态,它们的作用仅体现在操作数据上。

 

很明显,这种划分是基于计算机的工作方式,所以您很难忽视它。和无处不在的原料和能量以及名词和动词的划分一样,它构成了程序的本质。从某种意义上说,所有的程序员—即使是面向对象的程序员—都是工作在数据结构之上,他们的程序也会使用和定义函数来操作数据。

 

对于面向过程编程语言例如C来说,这几乎就是一切了。语言本身可能为组织数据和函数提供了多种支持,但是本质上仍然是分成数据和操作两个部分。函数和数据结构是设计的基本元素。

 

面向对象编程当然不会这样来划分,而是在更高的层次重新组织。它把操作和数据组合为一个模块单元叫做对象 ,并且把对象组成一个结构化的网络来完成一个程序。在面向对象的编程语言中,对象和对象间的交互才是设计的基本元素。

 

每个对象都具有状态(数据)和行为(对数据的操作)。也就是说,它们和物理实体并没有太大区别。一台机械装置例如怀表、钢琴如何体现自己的状态和行为是显而易见的,然而几乎每样功能性的物体都能够体现自己的状态和行为。即使一个普通的瓶子也会有状态(瓶子有多满,瓶子是否已经打开,瓶子所装的液体温度多少)和行为(以不同的流量倒出所装液体,盖上或者打开,加热或者制冷)。

 

正是这种与实物的相似性赋予了对象强大的能力和吸引力。这些对象不仅可以对现实系统的组件建模,也能够胜任软件系统中的同样的角色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值