Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何严格遵循给定的UML在子类中定义字段?_Java_Inheritance_Uml - Fatal编程技术网

Java 如何严格遵循给定的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() {

我正在尝试使用java实现下面的UML图:

我最近才接触到UMLs,据我了解,我无法在SBank或PBank内部设置一个字段来定义其利率。还可以看出,在类Bank中,没有像使用setter方法那样定义利率的实现。我正在寻找关于如何进行这项工作的建议,或者给定的UML是否有问题?下面是我用来尝试将UML实现为代码的一些示例代码:

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的,斜体字意味着“抽象”——以及我读过的其他来源所说的,但我不确定人们有多一致。我也研究了它,用斜体字表示抽象类和字段可能是标准惯例