[英]How would I implement the interfaces?
鉴于您的Account
是一个抽象的 class,您实际上并不需要实现接口中的方法,它们只能由任何具体的 class 实现。
不过,如果您想为institution()
和compareTo(Bank o)
方法提供默认实现,您可以执行以下操作:
abstract class Account implements Bank {
public static int account;
public void deposit(double amount) {
}
@Override
public void institution() {
// Your logic here
}
@Override
public int compareTo(Bank o) {
// Your comparison logic here
}
}
从Bank(三个部分,一个类)和Comparable(两个部分,一个接口)都可以清楚地看到以下内容。 箭头不符合完整的 UML。
public class Bank implements Comparable<Bank>
银行必须实现compareTo
所以 class 是合乎逻辑的。
一个账户在任何方面都是一个银行似乎不合逻辑(两个账户就是两个银行)。
public abstract class Account {
public static int globalAccount; // 'account' in diagram.
public final Bank bank;
public final int account;
protected Account(Bank bank) {
this.bank = bank;
++globalAccount; // New account number.
account = globalAccount;
}
public abstract void deposit(double amount);
}
应该只有一个全局account
值,我在这里将其解释为globalAccount
,用于为每个帐户提供一个新编号。
我将银行箭头解释为字段。 不是真正的UML。
Bank islandBank = new Bank();
Account maryAccount = new IslandAccount();
Account joeAccount = new IslandAccount();
assert(maryAccount.bank == islandBank);
assert(maryAccount.account != joeAccount.account);
maryAccount.deposit(-100);
joeAccount.deposit(100);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.