在民办医院做网站编辑怎么样,濮阳新闻最新消息,网站建设方案计划书人员规划,中山市智能h5网站建设公司文章目录 工厂模式工厂模式分为工厂模式的角色简单工厂模式案例代码定义一个父类#xff0c;三个子类定义简单工厂客户端使用输出结果 工厂模式
工厂模式属于创造型的模式#xff0c;用于创建对象。
工厂模式分为 简单工厂模式#xff1a;定义一个简单工厂类#xff0c;根… 文章目录 工厂模式工厂模式分为工厂模式的角色简单工厂模式案例代码定义一个父类三个子类定义简单工厂客户端使用输出结果 工厂模式
工厂模式属于创造型的模式用于创建对象。
工厂模式分为 简单工厂模式定义一个简单工厂类根据传递的参数来返回不同的对象。 工厂方法模式定义一个创建对象的接口将实例化的过程由子类来决定适合单个产品的创建。 抽象工厂模式定义创建对象的接口子类来创建一系列相关的产品或者是依赖族可以说是简单工厂与工厂方法的结合。
工厂模式的角色
抽象产品定义一个产品的接口或者是抽象方法。具体产品实现抽象产品的实际对象。抽象工厂定义一个创建对象的接口或抽象方法。具体工厂实现与抽象工厂的具体方法。
简单工厂模式
定义一个简单工厂类根据传递的参数来返回不同的对象。这样我们在需要添加对象的时候只需要添加代码就可以了不需要对原来代码进行修改。简单工厂模式也可以叫做静态工厂模式可以把返回对象的方法定义中静态方法这样就更加的方便了。
简单来说根据参数通过一个工厂类来返回相应的对象。符合开放扩展修改关闭原则。
案例 代码
定义一个父类三个子类 public class Person {public void action(){System.out.println(Person , 我是一个人);}
}public class Student extends Person{Overridepublic void action(){System.out.println(Student, 我是一名学生);}
}public class Man extends Person{Overridepublic void action(){System.out.println(Man, 我是一名男人);}
}public class Lady extends Person{Overridepublic void action(){System.out.println(Lady,我是一名女生);}
}
定义简单工厂
public class SimpleFactory {public Person getPerson(String type){if (type null){return null;}if(man.equals(type)){return new Man();}else if(student.equals(type)){return new Student();}else if(lady.equals(type)){return new Lady();}else{return null;}}}客户端使用
public class Client {public static void main(String[] args) {SimpleFactory simpleFactory new SimpleFactory();Person person simpleFactory.getPerson(man);person.action();person simpleFactory.getPerson(lady);person.action();person simpleFactory.getPerson(student);person.action();person simpleFactory.getPerson(teacher);if (person null){System.out.println(没有这个类型);}}
}输出结果 我是小辉24 届毕业生。当下是找工作ing欢迎关注持续分享。