在面向对象的概念中,对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。在生物界中,我们人类作为万物之灵,自然是最为复杂的对象。
面向对象有三个基本特征:
1.封装:将客观事物抽象成类,每个类对自身的数据和方法实行protection(private, protected,public)
对任何一个人来说,自身的数据可以说是他的知识、记忆和社会关系。
而对象的行为可以说是人运用自己的知识、记忆和社会关系达到某种目的的能力。
私有数据,谁没有些秘密呢,包括知识、记忆和社会关系。
公共数据,不管你是穿上马甲还是脱了马甲,你的身边的人都认得出来。
2.继承:继承性是子类自动共享父类数据结构和方法的机制。
一对夫妇生了一个小孩,小孩继承了父母的基因,体貌特征上或多或少与父母相似,这是生理上的继承。
孩子接受家庭教育,也或多或少的掌握了父母的数据(知识、记忆和社会关系)和能力。当然他不可能都知道,想访问或修改父母的私有数据,必须经过同意(父类提供公共的函数接口)。要拥有甚至超过父辈们改变自然的能力,就得勤学苦练。
3.多态:是将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。
一家3口可能对同样的事有不同的看法,比如十一放假,3个人都同意去旅行,但是提到地点时,却有不同的看法,爸爸想去北京,妈妈想去桂林,而孩子想去香港。当然夫妻之间不存在多态,倒像一个有限制的友元关系,允许对方了解自己的部分私有信息和能力,男人什么都让女人知道了是危险的,女人有些小秘密只能跟自己的闺中密友分享。
阅读(639) | 评论(0) | 转发(0) |