俗语解释
对象可以是一个人,他有
鼻子、眼睛,他能
嗅、看
对象也可以是一个鼻子,它有
鼻梁、鼻头,它能
垫高、长黑头
对象还可以是一粒黑头,它有
皮脂、细胞屑,它能
堵塞毛孔、吸纳尘埃
对象是任何你能想出来的名词
现实例子
编程中的对象,是一块内存区域,举例Person对象来说,区域头4个字节记录的是他的身高,接下来的4个字节记录的是他的跳跃功能——通常是个函数指针,指向另一块存储函数代码的内存区域——,再下来是2个字节的年龄,等等
Person |
---|
height |
jump-> |
age |
延伸拓展
- 所谓composition就是对象有
组合
关系,四肢躯干和大脑组成了人类,它们长在一起,在一块连续内存里。躯干什么的,就是人这个对象
的成员
- 所谓association就是对象有
关联
关系,即也是成员
,但亲密度弱一些,例如人有手机,,但他们不是长在一起的,他们是在2块不同的内存里 - 对象有
生命周期
,出生和死亡要特别注意,因为它俩都会意外发生 - 对象分
类型
,类型是人就表明它会撒谎、偷窥,类型是狗就表明它会吃屎、乱吠,但两个对象即使类型相同,他们的行为也有差异,例如有的狗嗓门大,乱吠的音量就高些,所以对象的成员控制着对象的行为效果 - 对象
类型
有继承
关系,例如动物能吃和睡,而人不光会吃和睡,还会发博客,所以人就是动物的子类,其实继承这个词用法欠妥,更准确的提法是特化。 - 对象通常会实现某些
接口
,这玩意儿就像是外包,如果是服务外包,就是别人让咱干啥咱干啥,如果是产品外包,就是别人让咱生产啥咱生产啥,一切按合同来,这个合同,就是接口 - 对象通常用
引用
来标识和寻找,引用就是指针,指向一块内存区域(对象),因为指针的取值范围固定,就是0~2^32-1,所以像身份证号一样,可以很容易标识和寻找对象!
升华总结
对象是IT界对编程的一种建模元素,面向对象编程就是IT界看待编程的一种模型。
目前看来,这种模型越来越占据主流地位,不仅在游戏领域、Web领域占据主导,甚至下沉到底层内核编程场景。