.
【实验小结】
使用工厂方法访问并且初始化合适的类的对象,简化了应用程序,应用程序本身不再含有大量的条件语句判定何时选取哪个类。其次,工厂方法实现了一些特殊的某个类的机制,尤其是层次结构不同的类需要不同的初始化方法的时候。
-
.
抽象工厂方法模式——房屋信息
【实验内容】
在例2.4中设计并且实现了豪华(Super)和中等(Medum)别墅(House)
和公寓(Condo)的查询。要求在该设计的基础上,增加一个新的类SemiDetacher(半独立式楼宇),并且编写代码实现相应的查询功能。
【添加代码】
1、添加SemiDetacher类:
public interface SemiDetacher {
public String getSemiDetacherInfo(); public String getSemiDetacherFeatures();
}
2、添加SuperSemiDetacher类:
public class SuperSemiDetacher implements SemiDetacher {
private String name;
public SuperSemiDetacher(String cName)
{ }
name = cName;
public String getSemiDetacherInfo()
-
.
{
return \
}
public String getSemiDetacherFeatures()
{ }
return \
}
3、添加MediumSemiDetacher类:
public class MediumSemiDetacher implements SemiDetacher {
private String name;
public MediumSemiDetacher(String cName) { }
public String getSemiDetacherInfo() {
return \
name = cName;
}
public String getSemiDetacherFeatures()
-
.
{ }
return \
}
4、添加BuildingFactory:
public abstract SemiDetacher getSemiDetacher();
5、添加MediumBuildingFactory:
public SemiDetacher getSemiDetacher() {
return new MediumSemiDetacher(\
}
6、添加SuperBuildingFactory:
public SemiDetacher getSemiDetacher() {
return new SuperSemiDetacher(\
}
7、添加GUI:
(1)public static final String SEMIDETACHER = \
(2)cmbHouseType.addItem(SEMIDETACHER);
-