1. 程式人生 > >java常用設計模式--抽象工廠模式簡單例子

java常用設計模式--抽象工廠模式簡單例子

package com.ruanyun;

/**
* @Auther: maxw
* @Date: 2018/11/12 11:23
* @Description:抽象工廠模式:與工廠方法模式不同的是,工廠方法模式中的工廠只生產單一的產品,而抽象工廠模式中的工廠生產多個產品。
* 還有個抽象工廠方法模式 只需要在建一個 ClothesFactory的實現工廠 就實現了該模式。
*/
public class Test7 {
public static void main(String args[]){
ClothesFactory adidasFactory = new AdidasFactory();
adidasFactory.createNeiyi().look();
adidasFactory.createDayi().look();
adidasFactory.createWaitao().look();
}
}
//定義一個衣服抽象類
abstract class Clothes{
abstract void look();
}
class Neiyi extends Clothes{
String name;
public Neiyi(String name) {
this.name = name;
}
@Override
void look() {
System.out.println(name+"內衣。。。");
}
}
class Dayi extends Clothes{
String name;
public Dayi(String name) {
this.name = name;
}
@Override
void look() {
System.out.println(name+"大衣。。。");
}
}
class Waitao extends Clothes{
String name;
public Waitao(String name) {
this.name = name;
}
@Override
void look() {
System.out.println(name+"外套。。。");
}
}
abstract class ClothesFactory{
abstract Neiyi createNeiyi();
abstract Dayi createDayi();
abstract Waitao createWaitao();
}
class AdidasFactory extends ClothesFactory{
@Override
Neiyi createNeiyi() {
return new Neiyi("阿迪");
}
@Override
Dayi createDayi() {
return new Dayi("阿迪");
}
@Override
Waitao createWaitao() {
return new Waitao("阿迪");
}
}