您的位置:首页 > 其它

我理解的封装继承和多态

2010-03-20 11:20 190 查看
学习面向对象语言,我们面对的第一个难题是对象和类。在知道了对象是类的一个具体实例,而类是对多个对象的抽象之后我们要面对的就是类这个东西了。那么类是个什么东西,他的三个特性封装继承和多态又是什么呢。在这里我想讲一下我的体悟。
我把这一个体系结构比作一个国家,我为什么这么比喻我在下面会说到。首先,他们都是一个庞然大物,是由无数的人智慧结晶而成的。在这样的一个庞然大物面前,我们每个人都显得渺小。因为你不是在跟一个人对抗,而是一群人。而这群人又不是没有组织纪律的普通混混,而是一群有组织,有目的人。但正是因为这样,当我们能够征服这样的一个庞大的体系的时候,我们才会实现自己的价值。
好了,现在我们面前有这样一个国家,这个国家里的基本组织成员是类。而这些类们为他们自己的行为制定了三条法则,这相当于这个国家的宪法,没有人能够破坏而必须遵守。每个类都严格遵守着这三条法则,这三条法则深入他们的骨髓里面。从他们的出生到死亡(类当然也有出生和死亡),就被打上了这三个烙印。
这三个法则就是封装,继承和多态。什么是封装,如同我们人每个人都有属于自己的财产和地位一样。每个类都有他自己独特的变量和方法。变量和方法组成了一个类,并且使得这个国家里没有两个完全相同的类。封装的意思就是为这个类提供了一个有力的武器,没有人能随意使用我的变量和方法。如同没人能随便拿走你的财产一样,这样一条规则让这个世界变得稳定起来。不然随便有人拿你的财务,占你的地盘这样所导致的就是国家的毁灭。
再说第二个规则继承,在这个国家中开始的时候可能只有几个类。这几个类占据了这个庞大的国家,但是只靠这几个类是管理不过来这个庞大的国家的。怎么办,好办。我们让这些类繁殖,当然到底是无性生殖,还是有形生殖我们就不管了。总之,随着时间的推移。这个国家中的类成员越来越多了,这些类成员很多都是开始的几个类的后代子孙。可能是一代的也可能是好几代的,但是因为这个国家的人(类)寿命都特别的长,所以有十几代或者是更多代共存的情况。而他们也不愧是这些基类的子孙,体内含有他们全部的基因,而且还有写自己独特的东西。因为说过吗,世界里不存在两个完全相同的类。而还有一些类是外来的,他们不知道从哪冒出来的,并非那些开始的基类的子孙。但是因为这个世界太庞大了,所以也每人去管他们。这样他们也在这个世界中存活了下来。
最后一个规则来了多态,这个规则一般认为是很不好理解的规则。但我觉得并不难理解,为什么这么说呢。大家知道整个国家要运转起来的呀,不是说有这些类就完了。而且这些类也是各司其职,有他们自己的事情。现在假设有这么一家类,这家的老祖宗那是了不得的类。很多类都和他是好朋友,他只要说话,很多类都可以给他办事情。(这说明那些类中都有一个方法,名字是为老祖宗服务)好了,这为老祖宗,一路通达。功成名就,本来可以开开心心的活着了。但是有一件事情还是有点放心不下,就是他那些子孙们不太争气,没他这么有王八之气,有那么多人为他服务。怎么办呢,他想到了一个办法。这个办法就是在这个国家里制定一条规则,这条规则的内容就是,只要是我的子孙就能享用和我一样的服务。好了,这下好了。他的子孙和他一样了,他可以安心的享福了。于是,面向对象这个国家的三条基本原则确立了。
封装保证了每个类的权益不受人侵犯。继承保证了每个类都可以有继承类。而多态保证了每个类和他这一系的子孙都能够享受同样的服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: