我有一個接口稱爲Worker
這是我要揭露,使最終用戶可以直接電話諮詢:防止從重寫某些方法抽象實現
Worker w = WorkerFactory.createInstance();
w.mainBit();
如何防止從提供致以AbstractWorker
類的類自己執行mainBit
方法?
這是我迄今爲止的結構:
interface Worker {
void mainBit();
}
class WorkerFactory {
public static Worker createInstance() {
return new WorkerImpl();
}
}
abstract class AbstractWorker implements Worker {
@Override
public void mainBit() {
this.doThing1();
this.doThing2();
}
public abstract void doThing1();
public abstract void doThing2();
}
class WorkerImpl extends AbstractWorker {
@Override
public void doThing1() {
}
@Override
public void doThing2() {
}
@Override
public void mainBit() {
// I don't want classes to override this functionality
}
}
不知道你也可以使方法最終。萬分感謝! – CodingIntrigue