A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 庞子华 中级黑马   /  2012-3-27 17:47  /  2246 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题                          

2 个回复

倒序浏览
public class Factory{
  public static Sample creat(int i){
   if (i ==1)
         return new MySample();
     else if (i ==2)
        return new HisSample();
  }
}
Sample有不同实现
回复 使用道具 举报
//抽象产品角色
public interface Car{
public void drive();
}
//具体产品角色
public class Benz implements Car{
public void drive() {
System.out.println("Driving Benz ");
}
}

public class Bmw implements Car{
public void drive() {
System.out.println("Driving Bmw ");
}
}
//工厂类角色
public class Driver{

//工厂方法
//注意 返回类型为抽象产品角色
public static Car driverCar(String s)throws Exception {

//判断逻辑,返回具体的产品角色给Client
if(s.equalsIgnoreCase("Benz")) return new Benz();
else if(s.equalsIgnoreCase("Bmw"))
return new Bmw();

......
else throw new Exception();  
public class Magnate{
public static void main(String[] args){
try{
//告诉司机我今天坐奔驰
Car car = Driver.driverCar("benz");
//下命令:开车
car.drive();

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马