[英]Sharing of Model object across classes
我有一个模型类Team
。 我需要在不同的类中对这个类执行多个操作,比如Coach
和Admin
。 我的问题是如何在创建所有其他类的同时维护一次相同的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);
现在admin
和coach
实例都将引用同一个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.