我对instanceof对象使用开关盒有疑问:
instanceof
例如:我的问题可以用Java复制:
if(this instanceof A) doA(); else if(this instanceof B) doB(); else if(this instanceof C) doC():
如何使用实施switch...case?
switch...case
这是子类型多态性有帮助的典型方案。请执行下列操作
interface I { void do(); } class A implements I { void do() { doA() } ... } class B implements I { void do() { doB() } ... } class C implements I { void do() { doC() } ... }
然后,你可以简单的调用do()上this。
do()
this
如果你不能随意更改A,B和C,则可以应用访问者模式来实现相同目的。
A
B
C