我在创建课程时多次问过自己这个问题,尤其是那些涉及馆藏的课程,但我从来没有想出满意的答案。这是一个OOP设计问题。我应该实例化一个集合还是从集合继承?
例如,在支票簿注册程序中说我有一类BankAccount
。 BankAccounts包含的数据涉及账户名称,账户类型(检查,保存,枚举的枚举)以及其他数据,但最重要的是账户中的账户(存款或取款)的集合。
在这里,我有保持调整的集合两种选择:
- 实例化的集合,并将其作为BankAccount类中的一员。这就像是说“BankAccount 有一系列调整”。
- 继承集合。这就像是说“BankAccount 是调整集合。”
我认为这两种解决方案都很直观,当然,两者都有一些优点和缺点。例如,实例化允许类(仅允许单个基类的语言)从另一个类继承,而从继承继承的类可以很容易地控制Add,Remove和其他方法,而无需编写代理方法来“包装'那些。
那么,在这种情况下,哪种方法更好?
看看这篇文章:http://www.javaworld.com/javaworld/jw-08-2003/jw-0801-toolbox.html 它描述了继承如何降低可维护性。 – Ozan 2010-02-11 17:44:09