最近玩了一下植物大战僵尸2,发现里面有一种东西叫"超级炮弹",这种东西应用到豌豆上,豌豆会狂发×××,应用到向日葵上,向日葵会狂生产太阳,应用到土豆上,土豆会被裹上厚厚的铁甲。。。。。,玩到这儿,觉得Polymorphic真是无处不在,我觉得事实可能是这样的:
Interface SuperMissile() {
public abstract static void loadAndSend();
}
class Pea implements SuperMissile {
Pea() {
//constractor method
}
public abstract static void loadAndSend() {
//狂发×××
}
//other methods
}
class SunFlower implements SuperMissile {
SunFlower() {Interface SuperMissile() {
public abstract static void loadAndSend();
}
class Pea implements SuperMissile {
Pea() {
//constractor method
}
public abstract static void loadAndSend() {
//狂发×××
}
//other methods
}
class SunFlower implements SuperMissile {
//constractor method
}
public abstract static void loadAndSend() {
//狂生产太阳
}
//other methods
}
多态的运用应该与DIP(依赖倒转原则)结合使用,也就是面向接口或者面向抽象的编程,两者的结合是一件理所应当并且Perfect的事。

转载于:https://blog.51cto.com/gogofun/1284515