我正在为Java Project设计一个类层次结构。它涉及创建一个类层次结构来表示几个银行帐户。 现在,所有银行账户都有一些共同的属性。这些可以移动到抽象类。但是,有一个属性对于几个银行账户是共同的,但不是全部。我应该如何在类层次结构中实现此属性? 我可能不应该在所有相关的类中反复实现该属性,但我想不出另一种方法来实现它。
答案 0 :(得分:3)
让我尽可能地帮助你。
您可以拥有一个界面IBankAccount,它定义了银行账户的常见行为。将只有方法定义。例如。银行帐户应该允许credit(),debit(),getBalance()等方法。它可以有一些其他方法对所有银行账户都不常见。
接下来,您可以拥有一个抽象的BaseBankAccount类并实现这些commmon方法。这是因为credit(),debit()和getBalance()将在银行账户中有共同的行为。
然后,您可以定义将定义BankAccount行为的BankDecorator接口。特殊装饰器将实现此界面以向银行帐户添加额外功能。例如。 CurrentBankAccountDecorator将添加当前帐户功能等。
希望这有帮助。
答案 1 :(得分:0)
您可以使用mixins的编程概念。
另见:D。Ancona,G。Lagorio和E. Zucca。 Jam - 用Java设计Java扩展 混入。 ACM Trans。程序。郎。 Syst。,25(5):641-712,2003。