【发布时间】:2021-01-01 10:50:06
【问题描述】:
我想找到一种在我的 Java 代码中重用类似数组列表的方法。唯一让每个人不同的是他们持有的数据类型。特别是在我的程序中,我有一个类ActionDeck,它有一个对象ActionCard 的实例变量数组列表和另一个类SalaryDeck,它有一个对象SalaryCard 的实例变量数组列表。这两个类都有相同的实例变量和方法。有没有一种方法可以让我拥有某种蓝图,其中我可以从代码的一部分实例化两个 Deck 类,但它持有的对象不同?它扩展的抽象Deck 类仅包含类似的方法。我只是想缩短代码量,因为我正在为其他甲板类重复这些代码,这似乎也是多余的。
public class SalaryDeck extends Deck {
private Deque<SalaryCard> salaryDeck;
private ArrayList<SalaryCard> temp;
public SalaryDeck () {
salaryDeck = new ArrayDeque<SalaryCard>();
temp = new ArrayList<SalaryCard>();
}
public class ActionDeck extends Deck {
// Instance variables for an action card deck
private Deque<ActionCard> actionDeck;
private ArrayList<ActionCard> temp;
/**
* Constructor for an action card deck object. It creates a temporary
* array list, as well as a deque for pushing action card objects into.
*/
public ActionDeck() {
actionDeck = new ArrayDeque<ActionCard>();
temp = new ArrayList<ActionCard>();
}
我一直在想我可以使用抽象类,但我不确定如何实现它。
非常感谢!
【问题讨论】:
标签: java oop inheritance arraylist subclass