概念:实例化对象的时候不再使用new Object() 形式,可以根据用户的选择来实例化相关的类。对于客户端来说,去除了具体的类的依赖。只需要给出具体实例的描述给工厂,工厂就会自动返回具体的对象。
实现:
interface Car{
public void drive();
}
class Bus implements Car{
@Override
public void drive(){
System.out.println("I am a bus.");
}
}
class Bike implements Car{
@Override
public void dirve(){
System.out.println("I am a bike.");
}
}
class Factory{
public static Car getInstance(String className){
//通过equal方法在确定类的实例
Car car = null;
if("bus".equals(className)){
car = new Bus();
}
if("bike".equals(className)){
car = new Bik();
}
return car;
}
}
public class DesignModel{
public static void main(String[] args){
Car a = null;//定义接口对象
a = Factory.getInstance(args[0]);//通过工厂获取实例
if(a != null){ //判断对象是否为空
a.drive();调用方法
}
}
}
最后修改于 2020-04-01 19:54:56
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

