1 简单工厂模式:java的第一种设计模式。工厂模式就是将创造对象隐藏起来。通过工厂类的方法来创造。而为了返回的类型是一样的,故用接口来设计。
如:public interface Car {
public void driver();
}
public class BusCar implements Car{
public BusCar() {
super();
// TODO Auto-generated constructor stub
}
public void driver() {
// TODO Auto-generated method stub
System.out.println("开bus");
}
}
public class BMWCar implements Car{
public BMWCar() {
super();
// TODO Auto-generated constructor stub
}
public void driver() {
// TODO Auto-generated method stub
System.out.println("开BMW");
}
}
2 工厂类:就是得到产品对象的类。只不过是通过工厂类的方法来返回对象的。简单工厂是通过if和else来判断返回不同的具体实现类的对象。
如:public class CarFactory {
public CarFactory() {
super();
// TODO Auto-generated constructor stub
}
public Car getCar(String carType){//简单工厂方法。就是根据判断来返回不同的产品对象
if(carType==null||"".equals(carType)){
return new BusCar();
}
if(carType.equals("1")){
return new BusCar();
}else if(carType.equals("2")){
return new BMWCar();
}else{
return new BusCar();
}
}
}
3 这样就能通过简单的传递不同的参数来返回不同的对象了。通过工厂类来创造对象。
如:public class TestMain {
public static void main(String[] args) {
CarFactory carFactory=new CarFactory();//创造工厂
Car car=carFactory.getCar("2");//工厂创造方法 。简单工厂就是根据输入的不同参数来判断返回不同的产品对象
car.driver();
}
}
总结:简单工厂模式:通过工厂类的方法来返回对象 。根据方法的参数不同返回不同的对象。通过if和else判断来返回不同的参数。
!!!!两个字总结:判断
接口的好处就是:易扩展和可维护性,代码量少(不用写是哪个子对象。直接调用方法就行。java会自己判断实现的是哪个子接口)
如:public interface Car {
public void driver();
}
public class BusCar implements Car{
public BusCar() {
super();
// TODO Auto-generated constructor stub
}
public void driver() {
// TODO Auto-generated method stub
System.out.println("开bus");
}
}
public class BMWCar implements Car{
public BMWCar() {
super();
// TODO Auto-generated constructor stub
}
public void driver() {
// TODO Auto-generated method stub
System.out.println("开BMW");
}
}
2 工厂类:就是得到产品对象的类。只不过是通过工厂类的方法来返回对象的。简单工厂是通过if和else来判断返回不同的具体实现类的对象。
如:public class CarFactory {
public CarFactory() {
super();
// TODO Auto-generated constructor stub
}
public Car getCar(String carType){//简单工厂方法。就是根据判断来返回不同的产品对象
if(carType==null||"".equals(carType)){
return new BusCar();
}
if(carType.equals("1")){
return new BusCar();
}else if(carType.equals("2")){
return new BMWCar();
}else{
return new BusCar();
}
}
}
3 这样就能通过简单的传递不同的参数来返回不同的对象了。通过工厂类来创造对象。
如:public class TestMain {
public static void main(String[] args) {
CarFactory carFactory=new CarFactory();//创造工厂
Car car=carFactory.getCar("2");//工厂创造方法 。简单工厂就是根据输入的不同参数来判断返回不同的产品对象
car.driver();
}
}
总结:简单工厂模式:通过工厂类的方法来返回对象 。根据方法的参数不同返回不同的对象。通过if和else判断来返回不同的参数。
!!!!两个字总结:判断
接口的好处就是:易扩展和可维护性,代码量少(不用写是哪个子对象。直接调用方法就行。java会自己判断实现的是哪个子接口)