什么是object?

转自:http://blog.csdn.net/chen_chun_guang/article/details/6323024

Object是理解面向对象编程的关键。环视四周,你会发现很多具体的东西:你的狗,桌子,电视机,自行车。

 

真实世界中的对象(object)具有两种特性,即状态(state)和行为(behavior)。狗的状态包括:名字、毛色、饥饿、产崽。它的行为包括:摇尾巴、犬吠、接东西。自行车也具有状态(当前齿轮比、当前踏频、当前时速)和行为(改变齿轮比、改变踏频、刹车)。区分现实世界中对象的状态和行为,是了解面向对象编程的很好方式。

花一分钟时间去观察周围环境的对象,对于你看到的东西,默问自己两个问题:1)对象处于那种状态?2)对象具有那些行为?写下你所观察到的,你会发现现实世界中的对象复杂程度各不相同。台灯只具有两种状态(亮或灭),同时也只具有两种行为(开灯或关灯)。但收音机可能有很多状态(开着、关着、当前音量、当前收听电台)和行为(打开、关闭、调大音量、调小音量、搜索电台、调频)。你也会发现一些对象同时包含着其他对象。这些对现实世界的观察就形成了面向对象编程。

 

 

 

软件中的对象类似于现实中的事物:它们都是由状态和相对应的行为组成。Object把状态存储于域(fields)中(在一些编程语言中可以看到)并且只暴露其中的方法(编程语言中的函数)行为(behavior)。通过method可以操作对象内部的状态变量,并作为对象与对象通信的主要机制。隐藏内部的状态并通过对象提供的方法进行全部的操作,这种方法叫做数据封装。——面向对象的一个基本原则。

 

就拿自行车来说,

 

通过一些属性状态(当前速度、当前踏频、当前齿轮比)和改变状态的方法,外部世界仍然可以控制它。比如,如果自行车只有6个变速齿轮,改变齿轮的方法可以有效的保证齿轮的值不会超出最小值1和最大值6。

 

把对象(Object)引入到软件中有下面一些好处:

1. 模块化。一个对象的源代码可以独立的编写和维护。一旦创建,object可以很容易的嵌入到系统当中。

2. 隐藏内部信息。 只提供操作对象的方法,而内部实现的细节可以对外隐藏。

3. 代码可以重用。 一旦有现成的对象(可能在之前的软件中就开发好了),就可以在目前的代码中使用。

4. 调试和嵌入到代码中简单。 一旦某个对象实现起来有问题,可以从应用程序中很容易的清除或用另外一个对象来取代它。这类似于现实世界中的修理方法。一旦螺栓坏了,只需要更换个新的,而不是更换整个机器。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值