public class HaierTV implements TV
{
@Override
public void play()
{
System.out.println("海尔TV播放中");
}
}
public class MeiDiTV implements TV
{
@Override
public void play()
{
System.out.println("美的TV播放中");
}
}
2. TVFactory
public class TVFactory
{
public static TV produceTV(String brand) throws Exception
{
if("Haier".equals(brand))
{
System.out.println("工厂生产海尔TV");
return new HaierTV();
}
else if("MeiDi".equals(brand))
{
System.out.println("工厂生产海尔TV");
return new MeiDiTV();
}
else
{
throw new Exception("无法生产当前品牌");
}
}
}
3. Client
public class Client
{
public static void main(String[] args) throws Exception
{
//生产海尔
HaierTV haierTV= (HaierTV) TVFactory.produceTV("Haier");
haierTV.play();
//生产美的
TVFactory tvFactory=new TVFactory();
MeiDiTV meiDiTV=(MeiDiTV) tvFactory.produceTV("MeiDi");
meiDiTV.play();
}
}