简单工厂
需求:客户A需要开车,今天他跟你说要开奥迪车,明天要开奔驰车,后天要开宝马…
解决方式:
a. 一个开车父类,定义一个开车方法;
b. 分别定义子类开奥迪车、开奔驰车、开宝马车;(继承)
c. 一个工厂,分别根据输入参数,实例化对应的子类对象;(多态);
d. 客户A类声明父类,输入对应的参数,工厂类实例化对应的子类,调用子类的开车方法。
需求变更:要开大众;
解决方式:
新增开大众子类;
工厂新增实例化对象;
类图:
简单工厂
需求:客户A需要开车,今天他跟你说要开奥迪车,明天要开奔驰车,后天要开宝马…
解决方式:
a. 一个开车父类,定义一个开车方法;
b. 分别定义子类开奥迪车、开奔驰车、开宝马车;(继承)
c. 一个工厂,分别根据输入参数,实例化对应的子类对象;(多态);
d. 客户A类声明父类,输入对应的参数,工厂类实例化对应的子类,调用子类的开车方法。
需求变更:要开大众;
解决方式:
新增开大众子类;
工厂新增实例化对象;
类图: