Jav*_*per 0 java oop inheritance
我有一个超类,有2个子类.如果条件foo为true,我希望其中一个子类采取某些操作,而其他子类不执行任何操作:
public void doFoo() {
// some 10 lines common to both subclasses.
boolean foo = checkFoo();
/**
* if foo is true, subclass1 should do something. subcass2 does nothing.
*/
// some 10 lines common to both subclasses.
}
Run Code Online (Sandbox Code Playgroud)
我提出的解决方案:
public void doFoo() {
// some 10 lines common to both subclasses.
boolean foo = checkFoo();
if (foo) {
doSomething();
}
// some 10 lines common to both subclasses.
}
class subclass1 extends superclass {
public void doSomething() {
// some lines of code.
}
Run Code Online (Sandbox Code Playgroud)
}
class subclass2 extends superclass {
public void doSomething() {
// do nothing
}
}
Run Code Online (Sandbox Code Playgroud)
对这个常见问题更清洁,更好,更标准的解决方案?
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |