首页 > 其他分享 >抽象工厂模式

抽象工厂模式

时间:2023-02-19 22:32:40浏览次数:33  
标签:mhm package Car 模式 工厂 抽象 abstractfactory com public


 

package com.mhm.abstractfactory;

import com.mhm.simplefactory.Car;

public interface BenzCar extends Car {
}


package com.mhm.abstractfactory;

public class BenzBussinessCar implements BenzCar {

@Override
public void drive() {
System.out.println("开奔驰商务车");
}

}

package com.mhm.abstractfactory;

public class BenzSportCar implements BenzCar {

@Override
public void drive() {
System.out.println("开奔驰运动车");
}

}

package com.mhm.abstractfactory;

import com.mhm.simplefactory.Car;

public interface BmwCar extends Car {
}

package com.mhm.abstractfactory;

public class BmwBussinessCar implements BenzCar {

@Override
public void drive() {
System.out.println("开宝马商务车");
}

}

package com.mhm.abstractfactory;

public class BmwSportCar implements BenzCar {

@Override
public void drive() {
System.out.println("开宝马运动车");
}

}

package com.mhm.abstractfactory;

import com.mhm.simplefactory.Car;

public interface IDriver {
public Car driverSoprtBenz();
public Car driverBusinessBenz();
public Car driverSportBmw();
public Car driverBusinessBmw();
}

package com.mhm.abstractfactory;

import com.mhm.simplefactory.Car;


public class Driver implements IDriver {

@Override
public Car driverBusinessBenz() {
return new BenzBussinessCar();
}

@Override
public Car driverBusinessBmw() {
return new BmwBussinessCar();
}

@Override
public Car driverSoprtBenz() {
return new BenzSportCar();
}

@Override
public Car driverSportBmw() {
return new BmwSportCar();
}


}

package com.mhm.abstractfactory;

import com.mhm.simplefactory.Car;



public class Magnate {
public static void main(String[] args) {
IDriver idriver = new Driver();
Car car = idriver.driverBusinessBmw();
car.drive();
}
}

 

 


标签:mhm,package,Car,模式,工厂,抽象,abstractfactory,com,public
From: https://blog.51cto.com/u_21817/6066917

相关文章

  • 设计模式之观察者模式
    spring的观察者模式demo1.观察者模式与发布与订阅模式对比:观察者模式比较概念的解释是,目标和观察者是基类,目标提供维护观察者的一系列方法,观察者提供更新接口。具体观察......
  • Azure 在 windows 11 下的 终端模式是如何操作?
    使用AzureCLI登录Azure命令行接口(CLI)又几种身份验证类型,那么如何登录?最简单的入门方法是使用 AzureCloudShell,这样可以自动登录。在本地,可以通过浏览器使......
  • 【JavaScript】17_debug,立即执行函数 与 严格模式
    14、debug<script>//debugger//在代码中打了一个断点console.log(a)//2vara=1console.log(a)//1fu......
  • 设计模式入门
    1、简介  设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这......
  • 对mvc模式的理解
    Model-View-ControllerMVC模式是个威力强大的复合模式,是由数个设计模式结合起来的模式;我们先看一下一个mp3播放器的设计,来由浅至深地了解这个设计模式的精髓所在: 从最......
  • ZMQ请求应答模式之无中间件的可靠性--自由者模式
    一、引言  我们讲了那么多关于中间件的示例,好像有些违背“ZMQ是无中间件”的说法。但要知道在现实生活中,中间件一直是让人又爱又恨的东西。实践中的很多消息架构能都在使......
  • 设计模式-简单工厂
    api.h#pragmaonce#include<string>#include<iostream>classAPI{public: virtualvoidrun(std::string)=0;protected: API(){};};classBAPI:publ......
  • 设计模式-原型模式
    原型模式(PrototypePattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式应用实例描述如下:未使用原型模式#inc......
  • 设计模式-建造者模式
    业务场景未使用建造者模式实现#include<iostream>#include<string>#include<vector>#include<sstream>usingnamespacestd;template<classT>stringConvertTo......
  • 简单工厂模式
     packagecom.mhm.simplefactory;/****@authorAdministrator*@描述抽象产品角色*/publicinterfaceCar{publicvoiddrive();}packagecom.mhm.simplefactory......