创建控件对象还是方法来处理两个对象之间的关系更好?



假设我有一个游戏,在游戏中允许玩家在设计关卡中以/卖方的形式/卖方购买或出售物品,创建另一个类来进行交易,或者每个类都应该有自己的买入/卖出方法来处理操作,或者两者都是错误的:)?

第二种方案将如下所示:

public class Player {
privte int money;
// Other fields
List<Integer> itemsPrice = new ArrayList<>();
List<Integer> itemsCart = new ArrayList<>();
public void buy(){
// Add item to itemsCart 
// decrease the amount of money
}
public void sell(){
// remove item from itemsCart 
// increase the amount of money
}
}
class Seller{
private int money;
List<Integer> itemsPrice = new ArrayList<>();
List<Integer> itemsCart = new ArrayList<>();
public void buy(){
// Add item to itemsCart 
// decrease the amount of money
}
public void sell(){
// remove item from itemsCart 
// increase the amount of money
}
}

您可以为两者创建一个抽象类,并扩展该父类并放置相同的

逻辑和变量进入这个父类,例如,你有moneyitemsPrice

itemCartsPlayerSeller中,您可以将它们添加到父类中

public class Parent {
protected int money;
protected List<Integer> itemsPrice = new ArrayList<>();
protected List<Integer> itemsCart = new ArrayList<>();
public void buy(){
// Add item to itemsCart 
// decrease the amount of money
}
public void sell(){
// remove item from itemsCart 
// increase the amount of money
}
}

,并将父级extendsPlayerSeller

public class Player extends Parent {
}
public class Seller extends Parent {
}

,以及任何PlayerSeller的使用

Player p = new Player();
p.buy();
p.sell();
Seller s = new Seller();
s.buy();
s.sell();

最新更新