繁体   English   中英

跨类共享模型对象

[英]Sharing of Model object across classes

我有一个模型类Team 我需要在不同的类中对这个类执行多个操作,比如CoachAdmin 我的问题是如何在创建所有其他类的同时维护一次相同的Team对象。?

TestDriver类中,我最初使用团队对象来创建Coach 但是如果我想创建新的Admin ,我需要通过同一个Team 这里有什么我需要遵循的模式吗?

//Model Classes

public class Player {
    String playerName;
}

public class Team {
    List<Player> playerList;
}


//Class to modify model

public class Coach {
    Team team;

    public Coach ( Team team) {
        this.team = team;
    }

    public void deletePlayer(Player) {
        //Remove the player form team
    }
}

public class Admin {
    Team team;

    public Admin ( Team team) {
        this.team = team;
    }

    public void addPlayer(Player) {
        //Add the player to team
    }
}

//Test Driver class 

public class TestDriver {
    public static void main(String args[]) {

        Team team = new Team();

        Coach coach = new Coach(team);
        coach.deletePlayer(team);

        //How to pass the same team
        Admin admin = new Admin(???);
        admin.addPlayer(team);

    }
}

这样做: Admin admin = new Admin(team);

现在admincoach实例都将引用同一个team实例。 因此,您在一个team中所做的任何更改都会反映在另一个team中。

您应该阅读更多关于在 Java 中变量如何只保存对内存中实际对象的引用的更多信息。

使用相同的对象/变量team

Team team = new Team();

Coach coach = new Coach(team);
coach.deletePlayer(team);

Admin admin = new Admin(team); // <-- here
admin.addPlayer(team);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM