Coin163

首页 > 设计模式之:简单工厂模式

设计模式之:简单工厂模式

相关推荐:设计模式(C#版)--简单工厂模式

为什么要用设计模式?      1、设计模式是前人根据经验总结出来的,使用设计模式,就相当于是站在了前人的肩膀上。      2、设计模式使程序易读。熟悉设计模式的人应该能够很容易读懂运用设计模式编写的程序。      3、设计模式能使编写的程序具有良好的可扩

2018阿里云全部产品优惠券(好东东,强烈推荐!!!)
领取地址https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=gh9qh5ki&utm_source=gh9qh5ki

简单工厂模式 简单工厂模式概述 又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例 优点 客户端不需要在负责对象的创建,从而明确了各个类的职责 缺点 这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护。 例子1:简单工厂模式代码 public abstractclassAnimal {

public abstract void eat(); }

public classAnimalFactory {

private AnimalFactory(){

}

public static AnimalcreateAnimal(String type){

if("dog".equals(type)){

return new Dog();

}else if("cat".equals(type)){

return new Cat();

}else{

return null;

}

} }

public classDog extendsAnimal {

@Override

public void eat() {

// TODO Auto-generated method stub

System.out.println("狗吃肉");

}

}

public classCat extendsAnimal {

@Override

public void eat() {

相关推荐:设计模式第一章

简单工厂模式

最近打算学习一下设计模式,但看完总是记不住,也不能好好坚持看,所以打算写一片帖子,每天记录一下学到的知识。

简单工厂模式用到了面向对象的三大特征:封装、继承、多态,实现了程序的可扩展,可复用,可维护,使程序的灵活性更高。

// TODO Auto-generated method stub

System.out.println("猫吃鱼");

}

}

public classAnimalDemo {

public static void main(String[] args) {

// TODO Auto-generated method stub

//具体类调用

Dogd = newDog();

d.eat();

Catc = newCat();

c.eat();

System.out.println("-------------");

Animala = AnimalFactory.createAnimal("dog");

a.eat();

a= AnimalFactory.createAnimal("cat");

a.eat();

//NullPointerException

a= AnimalFactory.createAnimal("pig");

if(a != null){

a.eat();

}else{

System.out.println("对不起,暂时不提供这种动物");

}

}

} 运行结果: 狗吃肉 猫吃鱼 ------------- 狗吃肉 猫吃鱼 对不起,暂时不提供这种动物

原文

  简单工厂模式 简单工厂模式概述 又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例 优点 客户端不需要在负责对象的创建,从而明确了各个类的职责 缺点 这个静态工厂类负责所

------分隔线----------------------------
阿里云优惠券
在线网页数据采集器