我正在开发一个关于使用Java的设计模式的项目。链接中提供了使用设计模式之前的类图。由于我是Java的新手,因此一些类方法描述对我来说是模棱两可的。
例如,在一个名为Mall
的类中有一个方法stores()
,方法stores()
被抽象地描述为返回商城中商店的“枚举”(我在我的示例代码中使用Java数组作为占位符)。
我想知道Java中的“枚举”是什么,即我应该将什么用于具体的返回类型?在那种特殊情况下,我们应该使用Iterator设计模式。如果可能,请提供一个示例。
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)
{
}
}
您需要根据目标创建一个名为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);
}
}