package com.czie.d3_factory_pattern;
/**
目标:工厂模式。
什么是工厂设计模式?
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。
这种类型的设计模式属于创建型模式,它提供了一种创建对象的方式。
之前我们创建类对象时, 都是使用new 对象的形式创建, 除new 对象方式以外,
工厂模式也可以创建对象。
工厂设计模式的作用:
1.对象通过工厂的方法创建返回,工厂的方法可以为该对象进行加工和数据注入。
2.可以实现类与类之间的解耦操作(核心思想,重点)
小结:
工厂模式的思想是提供一个工厂方法返回对象!
*/
public class FactoryDemo {
public static void main(String[] args) {
Computer c1=FactoryPattern.createComputer("huawei");
c1.start();
Computer c2=FactoryPattern.createComputer("mac");
c2.start();
}
}
package com.czie.d3_factory_pattern;
/**
* FileName: FactoryPattern
* Author: lps
* Date: 2022/4/29 11:58
* Sign:刘品水 Q:1944900433
*/
public class FactoryPattern {
/**
* 定义一个方法 创建对象返回
*/
public static Computer createComputer(String info) {
switch (info) {
case "huawei":
Computer c1 = new Huawei();
c1.setName("huawei pro 16");
c1.setPrice(4399);
return c1;
case "mac":
Computer c2 = new Mac();
c2.setName("MacBook2022");
c2.setPrice(8999);
return c2;
default:
return null;
}
}
}
package com.czie.d3_factory_pattern;
/**
* FileName: Mac
* Author: lps
* Date: 2022/4/29 11:42
* Sign:刘品水 Q:1944900433
*/
public class Mac extends Computer{
@Override
public void start() {
System.out.println(getName()+"一个小苹果,苹果电脑开机咯");
}
}
package com.czie.d3_factory_pattern;
/**
* FileName: Huawei
* Author: lps
* Date: 2022/4/29 11:44
* Sign:刘品水 Q:1944900433
*/
public class Huawei extends Computer{
@Override
public void start() {
System.out.println(getName()+"开机,展示华为的图标~~~");
}
}
package com.czie.d3_factory_pattern;
/**
* FileName: Computer
* Author: lps
* Date: 2022/4/29 11:41
* Sign:刘品水 Q:1944900433
*/
public abstract class Computer {
private String name;
private double price;
public abstract void start();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}