王***
2018-03-23 09:18:01
白马是指一种白色的马,而“非马”里的“马”指的是各种各样的马,有黑马,棕吗,五花马等等,这是在颜色上有所区别,马还有产地,品种等等区别。这样各种各样的马...[展开]
白马是指一种白色的马,而“非马”里的“马”指的是各种各样的马,有黑马,棕吗,五花马等等,这是在颜色上有所区别,马还有产地,品种等等区别。这样各种各样的马可以找出很多共同点,称之为马,符合这些特点的动物就是马了,所以这些共同点不能多也不能少,多了不能同用于所有的马,少了表达不出马来。
要区别一只马需要很多信息,比如一只黑色的蒙古马,在这里,我除了描述一只马外,还要指出它是黑色的,产地是蒙古,这里还没有加上马的品种。
另外事物可以划分成属性和方法的集合。
那么我们是不是可以对这个集合进行再加工呢,我们只要在里面加上一点别的什么,那他就可以变成别的事物了,想象一下在马的身上加上鹿的角,呵呵呵呵,可笑吗。 那么我们说一些严肃的,知道我们中华民族的图腾吗,龙!龙是在蛇的头上加上鹿的角,身上加上虎的腿脚,尾巴是鱼的尾巴,等等。
但是不是随随便便就能造就龙这样伟大的象征的,不好好设计,就会成为画蛇添足。
虽然是简单和相加,但也是有不同的方式的。一般来说有两种方式:关联和衍生。
关联:假设原来的类是用一个袋子将属性和方法包起来,那是用关联描述了多个类之间的关系,最简单的情况就是用一个更大的袋子将两个小袋子包起来,成为一个新的类。
这种关联叫做组合。
衍生:衍生呢就是用一个大的袋子将一个小的袋子与一些属性和方法包起来,成为一个新的类。[收起]