Java 如何严格遵循给定的UML在子类中定义字段?
我正在尝试使用java实现下面的UML图: 我最近才接触到UMLs,据我了解,我无法在SBank或PBank内部设置一个字段来定义其利率。还可以看出,在类Bank中,没有像使用setter方法那样定义利率的实现。我正在寻找关于如何进行这项工作的建议,或者给定的UML是否有问题?下面是我用来尝试将UML实现为代码的一些示例代码:Java 如何严格遵循给定的UML在子类中定义字段?,java,inheritance,uml,Java,Inheritance,Uml,我正在尝试使用java实现下面的UML图: 我最近才接触到UMLs,据我了解,我无法在SBank或PBank内部设置一个字段来定义其利率。还可以看出,在类Bank中,没有像使用setter方法那样定义利率的实现。我正在寻找关于如何进行这项工作的建议,或者给定的UML是否有问题?下面是我用来尝试将UML实现为代码的一些示例代码: public class BankInfo { private String name; public String getName() {
public class BankInfo {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Bank {
private BankInfo info;
private int rateOfInterest;
public Bank(BankInfo info) {
this.info = info;
}
public void displayInterestRate(){
}
public int getRateOfInterest(){
return rateOfInterest;
}
}
public class SBank extends Bank{
private int rateOfInterest = 8;
public SBank(BankInfo info) {
super(info);
}
@Override
public int getRateOfInterest() {
return rateOfInterest;
}
}
此UML:
不显示任何类中的任何rateOfInterest
字段。它显示的是Bank
是抽象的,并且有一个int
返回的抽象方法:getRateOfInterest()
。可以看出类和方法是抽象的,因为它们的名称是斜体的
公共抽象类库{
//其他成员。。。
公共摘要int getRateOfInterest();
}
UML进一步显示,您需要覆盖SBank
和PBank
中的getRateOfInterest()
,这两种方法都扩展了Bank
,并返回该实现的利率。您将直接返回值,而不是将其存储在字段中。例如,SBank
看起来像:
公共类SBank扩展银行{
公共SBank(银行信息){
超级(信息);
}
@凌驾
public int getRateOfInterest(){
返回8;
}
}
我从UML图中得到了8
的值,该图说明:
SBBank的利率为8%
谢谢你。我没有想到要返回一个值,而是一心想存储它。我不知道斜体字意味着抽象。至少我是这样被教给UML的,斜体字意味着“抽象”——以及我读过的其他来源所说的,但我不确定人们有多一致。我也研究了它,用斜体字表示抽象类和字段可能是标准惯例