假设我有一个游戏,在游戏中允许玩家在设计关卡中以/卖方的形式/卖方购买或出售物品,创建另一个类来进行交易,或者每个类都应该有自己的买入/卖出方法来处理操作,或者两者都是错误的:)?
第二种方案将如下所示:
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
}
}
您可以为两者创建一个抽象类,并扩展该父类并放置相同的
逻辑和变量进入这个父类,例如,你有money
、itemsPrice
、
itemCarts
Player
和Seller
中,您可以将它们添加到父类中
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
}
}
,并将父级extends
成Player
和Seller
public class Player extends Parent {
}
public class Seller extends Parent {
}
,以及任何Player
和Seller
的使用
Player p = new Player();
p.buy();
p.sell();
Seller s = new Seller();
s.buy();
s.sell();