Java AbstractFactory 抽象工厂类的实现

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:删除


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值