原则:找相同代码,责任职能划分,减少相同代码
1)字段上移/下移
要点:部分与整体关系
2) 函数上移
要点:有些函数,在各个子类中产生完全相同效果
3)构造函数本体上移
要点:在超类新建一个构造函数,并在子类构造函数中调用它
4)函数下移
要点:超类中某个函数只与部分子类有关
5)提炼子类
要点:类中某些特性只被某些(而非全部)实例用到
方案:新建一个子类,将上面所说的那一部分特性转移到子类中
6)提炼超类
要点:两个类有类似特性
方案:为这两个类建立一个超类,将相同特性转移至超类
7)提炼接口
要点:将相同的子集提炼到一个独立接口中
8)折叠继承体系
要点:超类和子类之间无太大区别
方案:将他们合为一体
9)塑造模板函数
方案:你有一些子类,其中相应的某些函数以相同顺序执行类似操作,但各个操作的细节上有所不同。
10)以委托取代继承
要点:子类只使用超类接口中的一部分
11)以继承取代委托
要点:委托函数太多
处理继承关系
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 开心一笑 【一孩子数学成绩不好,有次考试只考了8分,为了不挨揍他偷偷地加了一个0,回家后老妈看着我的试卷问他:“你...