多态应用案例打印机
同一个实现接口,使用不同的实例而执行不同操作
注释掉的部分是不采用多态实现的,工作量大且麻烦
采用多态就变得很简洁
class School
{
//public colorMachine cy;
//public uncolorMachine hy;
public Machine machine;
// public void setCy(colorMachine cy) {
// this.cy = cy;
// }
//
// public void setHy(uncolorMachine hy) {
// this.hy = hy;
// }
public void anzhuang(Machine machine){
this.machine = machine;
}
public void print(String contex){
machine.print(contex);
}
}
class Machine
{
public String brand;
public void print(String contex){
}
}
class colorMachine extends Machine
{
@Override
public void print(String contex) {
System.out.println("彩色打印机:"+contex);
}
}
class uncolorMachine extends Machine
{
@Override
public void print(String contex) {
System.out.println("黑白打印机:"+contex);
}
}
public class printor {
public static void main(String[] args) {
School s = new School();
colorMachine c = new colorMachine();
uncolorMachine h = new uncolorMachine();
//s.setCy(c);
//s.setHy(h);
//s.cy = c;
//s.hy = h;
s.anzhuang(c);
s.anzhuang(h);
c.print("qybs");
h.print("青砚北笙很帅");
}
}