工厂模式使用一个共同的接口创建新的对象
这里的工厂是使用一个Color方法来调用与对象创建语句去创建不同的水果对象,然后用子对象中的重写方法验证父对象被赋值后调用的方法是属于哪种水果。
首先书写工厂对象:
class Factory{
public void Color(){
fruit1 f =new fruit1();
System.out.println("请输入水果的名字");
Scanner s = new Scanner(System.in);
String v=s.nextLine();//通过输入对象调用子对象中的方法验证水果的属性
switch (v) {
default:
System.out.println("这不是我喜欢的水果");
break;
case "香蕉":
f= new Banana();
f.show();//将子类赋值给父类并调用重写后的方法
break;
case "桔子":
f=new Orange();
f.show();
break;
}
}
}
//重写父类方法
//通过重写函数show验证Color对象调用的方法是谁的
class fruit1{
public void show(){
System.out.println("香蕉是黄色的");
}
}
class Banana extends fruit1{
public void show(){
System.out.println("香蕉是黄色的");
}
}
class Orange extends fruit1{
public void show(){
System.out.println("桔子也是黄色的");
}
}
public static void main(String[] args) {
Factory fw = new Factory();
fw.Color();//调用color方法
}
}