//主板微星MSI865PE,支持Intel的CPU:
public class MSI865PE implements MainBoard{
public void Attach(CPU cpu) throws Exception{
if(cpu.getClass ().toString ().endsWith("Intel")){
System.out.println("MSI865PE");
}
else{
throw new Exception("主板MSI865PE只能配Intel的 CPU");
}
}
}
package com.yq1012.创建型模式.工厂方法.抽象工厂;
public class MSIK7N2G implements MainBoard{
public void Attach(CPU cpu) throws Exception{
if(cpu.getClass ().toString ().endsWith("AMD")){
System.out.println("MSIK7N2G");
}

else{
throw new Exception("主板MSIK7N2G只能配AMD的CPU");
}
}
}
package com.yq1012.创建型模式.工厂方法.抽象工厂;
public class Test {
public static void main(String[] args) {
//抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
//举一个电脑产品的例子吧:
//IBM,Dell都是著名的计算机生产厂家,他们采用的主板、硬盘及CPU是不相同的,
//但是配件间、主板与CPU一定要相互兼容,例如下面例子中的微星MSIK7N2G配AMD的CPU;微星MSI865PE配Intel的CPU。
//如图中所示,ComputerFactory是抽象工厂,Dell和IBM是生产产品的工厂
//;CPU、HardDisk、MainBoard是抽象产品,CPU的型号又分许多种。抽象工厂模式具体实现见代码:
//
IBMFactory ibm = new IBMFactory();
ibm.show();
DellFactory dellFactory = new DellFactory();
dellFactory.show();
}
//抽象工厂模式:前面工厂方法模式是比较具体的,是猫肯定生的是小猫,这是不会有问题的
//,是具体的,那么抽象工厂它所产生的就不是那么具体,产生的对象可能是没有共同特性的。抽象工厂模式
//譬如说 一只奶羊不仅仅能够生小羊,同时也能生产羊奶,但小羊是动物,羊奶是食物。
}
package com.yq1012.创建型模式.工厂方法.抽象工厂;
public class WestDigit implements HardDisk{
public String getSize(){
return "WD2500JD 250G";
}
}
您可能感兴趣的文章:
php常用设计模式之工厂模式与单例模式介绍
php常用的三种设计模式的学习笔记
php设计模式之工厂模式的实例代码
php单例模式的例子
php设计模式之单例模式学习
JavaScript 面向对象(OOP)的语法参考
学习javascipt的正则表达式
有关php单例模式介绍及例子
学习php单例模式及应用实例
php实现mvc模式的例子
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-30987-2.html
坐等上映
数据呢