У меня есть родительский класс, который определяет набор методов цепочек (методы, возвращающие "this"). Я хочу определить несколько дочерних классов, которые содержат свои собственные методы цепочки, но также "переопределяют" родительские методы, чтобы экземпляр дочернего класса возвращался вместо родительского класса.
Я не хочу повторять одни и те же методы в каждом дочернем классе, поэтому у меня есть родительский класс, содержащий методы, которыми обладают все дочерние классы. Спасибо.
class Chain {
public Chain foo(String s){
...
return this;
}
}
class ChainChild extends Chain {
//I don't want to add a "foo" method to each child class
/*
public ChildChain foo(String s){
...
return this;
}
*/
public ChainChild bar(boolean b){
...
return this;
}
}
ChainChild child = new ChainChild();
child.foo().bar(); //compile error: foo() returns a "Chain" object which does not define the bar() method.