我正在研究一个有关使用Java的设计模式的项目。链接中提供了使用设计模式之前的类图。由于我是Java新手,所以某些类方法描述对我来说是模棱两可的。
例如,在名为Mall
的类中,该类具有方法stores()
,方法stores()
被抽象地描述为返回购物中心中商店的“枚举”(我是在我的示例代码中使用Java数组作为占位符。
我想知道Java中可能是什么“枚举”,即具体的返回类型应该使用什么?在这种情况下,我们应该使用迭代器设计模式。请提供一个示例。
https://www.dropbox.com/s/kbug0ow3e14284b/DP_Project_1182.pdf?dl=0
public class Mall {
private String mallId;
private Store[] Stores;
private Customer[] customers;
public void enter(Customer c){}
public void exit(Customer C){}
public ShoppingCart getShopingCart()
{
return new ShoppingCart();
}
public Customer[] customers()
{
}
public Store[] stores()
{
}
void addStore(Store S)
{
}
}
答案 0 :(得分:1)
根据您的目标,您需要创建一个名为Store的抽象类。 为了返回Iterator类型的Enumeration,我创建了一个List并将其元素作为Iterator返回。
我希望这个示例对您有帮助:
public abstract class Store {
private String name;
private Item items;
//..other items
}
public class Mall {
private Store myStore;
//Vector which Stores all Store objects
private List<Store> listOfStores=new LinkedList();
//stores method which returns an Enumeration of Stores*/
public Iterator<Store> stores(){
return listOfStores.iterator();
}
public void addStore(Store s){
listOfStores.add(s);
}
}