工厂模式:
前提:实现同一个接口,即顶级接口是一个接口
代码
- 定义一个玩游记的接口
/**
* 定义一个接口:
* 方法:玩游戏
*/
package ac.bcc.cn.interf;
public interface Play {
/**
* 玩的方法
*/
public abstract void paly();
}
2.定义两个实现类
/**
*此类实现Play接口
*/
package ac.bcc.cn.clas;
import ac.bcc.cn.interf.Play;
public class PlayBasketBale implements Play {
@Override
public void paly() {
System.out.println("正在打篮球");
}
}
/**
* 此类实现Play接口
*/
package ac.bcc.cn.clas;
import ac.bcc.cn.interf.Play;
public class PlayComputer implements Play{
@Override
public void paly() {
System.out.println("正在打LOL");
}
}
3.创建工厂类
/**
* 工厂类:使用多态,创建对象
*/
package ac.bcc.cn.factory;
import ac.bcc.cn.clas.PlayBasketBale;
import ac.bcc.cn.clas.PlayComputer;
import ac.bcc.cn.interf.Play;
public class GameFactory {
/**
* 生成 打篮球对象
* @return
*/
public static Play basketBaleGame(){
return new PlayBasketBale();
}
/**
* 生成打电子游戏对象
* @return
*/
public static Play computerGame(){
return new PlayComputer();
}
}
4.测试
测试类
/**
* 测试类
*/
package ac.bcc.cn.test;
import ac.bcc.cn.factory.GameFactory;
import ac.bcc.cn.interf.Play;
public class Test {
public static void main(String[] args) {
//通过工厂,获取打电子游戏对象
Play computerGame = GameFactory.computerGame();
computerGame.paly();
//通过工厂,获取打电子游戏对象
Play basketBaleGame = GameFactory.basketBaleGame();
basketBaleGame.paly();
}
}
5:结果: