0

我正在为 Java 项目设计一个类层次结构。它涉及创建一个类层次结构来表示多个银行帐户。现在,所有银行账户都有一些共同的属性。这些可以移动到抽象类。然而,有一个属性是几个银行账户共有的,但不是所有的。我应该如何在类层次结构中实现这个属性?我可能不应该在所有相关类中一遍又一遍地实现该属性,但我想不出另一种方法来做到这一点..

4

2 回答 2

3

让我尽可能地帮助你。

您可以有一个接口 IBankAccount,它定义了银行账户的常见行为。将只有方法定义。例如,银行帐户应该允许 credit()、debit()、getBalance() 等方法。它可以有一些对所有银行账户都不常见的附加方法。

接下来,您可以拥有一个抽象的 BaseBankAccount 类并实现这些常用方法。之所以如此,是因为 credit()、debit() 和 getBalance() 将在银行账户之间具有共同的行为。

然后你可以定义一个 BankDecorator 接口来定义 BankAccount 行为。特殊装饰器将实现此接口以向银行帐户添加额外功能。例如 CurrentBankAccountDecorator 将添加当前帐户功能等。

希望这可以帮助。

于 2013-04-07T17:05:49.230 回答
0

您可以使用mixins的编程概念。

另见:D. Ancona、G. Lagorio 和 E. Zucca。Jam - 使用 mixins 设计 Java 扩展。ACM 翻译。程序。朗。系统,25(5):641-712,2003。

于 2013-04-07T16:21:37.897 回答