关闭

Java AbstractFactory 抽象工厂类的实现

524人阅读 评论(0) 收藏 举报
分类:
package com.cn.sun;

abstract class dele{
abstract void delete();
}
abstract class inse{
abstract void insert();
}
    abstract class AbstractFactory{
    abstract dele getDete();
    abstract inse getInsert();
    }
    
    /**
     * Mysql1 删除
     * @author  sp
     *
     */
  class Mysql1 extends dele{
@Override
void delete() {
System.out.println("mysql:删除");
}
  }  
  
  /**
   *  Mysql2 插入
   * @author sp
   *
   */
  class Mysql2 extends inse{
@Override
void insert() {
System.out.println("mysql:插入");
}
  }
  
  
  /**
   * Mysql1 删除
   * @author  sp
   *
   */
class oracle1 extends dele{
@Override
void delete() {
System.out.println("oracle:删除");
}
}  


/**
 *  Mysql2 插入
 * @author sp
 *
 */
class oracle2 extends inse{
@Override
void insert() {
System.out.println("oracle:插入");
}
}

/**
 * Mysql 工厂类
 * @author sp
 *
 */
class MysqlFactory extends AbstractFactory{


@Override
dele getDete() {
// TODO Auto-generated method stub
return new Mysql1();
}


@Override
inse getInsert() {
// TODO Auto-generated method stub
return new Mysql2();
}

}




/**
 * Oracle 工厂类
 * @author sp
 *
 */
class OracleFactory extends AbstractFactory{


@Override
dele getDete() {
// TODO Auto-generated method stub
return new oracle1();
}


@Override
inse getInsert() {
// TODO Auto-generated method stub
return new oracle2();
}

}


public class AbstractFactoryAll {

public static void main(String[] args) {
AbstractFactory myFy = new MysqlFactory();
AbstractFactory OraFy = new OracleFactory();
myFy.getInsert().insert();
myFy.getDete().delete();
OraFy.getInsert().insert();
OraFy.getDete().delete();

}



执行结果:

mysql:插入
mysql:删除
oracle:插入
oracle:删除


}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:20895次
    • 积分:340
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:13篇
    • 译文:1篇
    • 评论:1条
    最新评论