java - 从UML到Java,简单关联

标签 java associations uml

This is the Image that I'm going to transfer from UML to Java

这是我要从 UML 传输到 Java 的图像,我不知道如何将它们锁定在一起,也不知道如何使一个银行帐户仅锁定一个人。

我如何连接这两个类?

这是我到目前为止的代码

我的主要方法

    public class Upp5 {

    public static void main(String[] args) {

        Person2 david = new Person2();
        BankAccount acc1 = new BankAccount();
        BankAccount acc2 = new BankAccount();

        david.setName("David");
        david.setPnr("551012-8978");

        acc1.setBnr("37");
        acc2.setBnr("38");

        System.out.println("Namn: " + david.getName() + " \nPersonnummer:" + david.getPnr());
        System.out.println(acc1.getBnr() + "\n" + acc2.getBnr());
    }

}

BankAccount.java:

public class BankAccount {
    private String bnr;
    private double balance;

    public void credit() {

    }

    public void withdraw(){

    }
    public String getBnr(){
        return bnr;
    }

    public void setBnr(String newAccount){
        bnr = newAccount;
    }

    public void createAccount(String newNbr){
        bnr = newNbr;
    }

}

和Person2.java

public class Person2 {
    private String pnr;
    private String name;

    //Koppla konto till pnr
    public void addAccount(BankAccount a){

    }

    //Skapa Pnr och Namn
    public void setPnr(String newPnr) {
        pnr = newPnr;
    }
    public void setName(String newName){
        name = newName;
    }
    // Hämta Pnr och Namn
    public String getPnr(){
        return pnr;
    }
    public String getName(){
        return name;
    }


}

最佳答案

您需要定义一个List<BankAccount>给您Person2实体:

public class Person2 {
    private String pnr;
    private String name;

    // list of bank accounts (from 0 to n) the Person can have.
    private List<BankAccount> accounts;

    //Koppla konto till pnr
    public void addAccount(BankAccount a){
         if (accounts = null) accounts = new ArrayList<BankAccount>();
         accounts.add(a);
    }

    //Skapa Pnr och Namn
    public void setPnr(String newPnr) {
        pnr = newPnr;
    }
    public void setName(String newName){
        name = newName;
    }
    // Hämta Pnr och Namn
    public String getPnr(){
        return pnr;
    }
    public String getName(){
        return name;
    }

    // include getters setters
}

编辑1:按照@NathanCaSTLehow的建议,如果您想要双重关系,BankAccount.java必须有 Person2属性

public class BankAccount {
    private String bnr;
    private double balance;

    // one bank account can only be owned by a single Person
    private Person2 person;

    public void credit() {

    }

    public void withdraw(){

    }
    public String getBnr(){
        return bnr;
    }

    public void setBnr(String newAccount){
        bnr = newAccount;
    }

    // generate getters setters
    public Person2 getPerson(){
           ......
    }
}

关于java - 从UML到Java,简单关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26909112/

相关文章:

ruby-on-rails - rails : How can I eager load associations with sorting through instance an method?

node.js - 用户与温度无关。 Sequelize Eager 加载错误

eclipse - 处理uml图的xml信息

uml - 事件节点与合并节点的许多输入

java - 如何将 java 堆栈跟踪的 bash 输出打印到 Linux 中的文件?

java - 如何在安装程序之外更新 install4j 中的响应文件

具有多个 JVM 的 Java 文件观察器监视单个目录中的传入文件

java - log4j2如何记录包?

ruby-on-rails - 显示所有有工作的公司

uml - 如何指定类的唯一标识符