[java与模式读书笔记]抽象类 |
抽象类仅提供一个类型的部分实现。可以有实例变量,以及一个或多个构造子。可以同时有抽象方法和具体方法。构造子不能被客户端调用来创建实例。可以被子类调用,从而一个抽象类的所有子类可以有一些共有的实现。
具体类一般不用继承。如两个具体类有继承关系,最可能的修改方案:建立一个抽象类。
抽象类应当拥有尽可能多的共同代码。拥有尽可能少的数据。
什么时候才应当使用继承复用:(1)子类是超类的一个特殊种类,而不是超类的一个角色。也就是区分:"Has-A"与“is-A","Has-A"关系应使用聚合关系描述,只有"Is-A"关系才符合继承关系。
(2)如果不能肯定一个类会不会在将来变成另一个类的子类的话,就不应当将这个类设计成当前这个超类的子类
(3)子类具有扩展超类的责任,而不是置换掉(Override)或注销掉(Nullify)
(4)只有在分类学角度上有意义时,才可以使用继承,不要从工具类继承。
|
阅读全文(2367) | 回复(0) | 编辑 | 精华 |
|
« | October 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | |
|
公告 |
有一种鸟儿是永远关不住的 因为它的每片羽翼上都沾满了自由的光辉
方向:计算机视觉 人工智能 演化算法
| |
Blog信息 |
blog名称:阳光海岸心 日志总数:166 评论数量:237 留言数量:-4 访问次数:1459430 建立时间:2006年6月2日 | |

|