Я не совсем уверен, как описать эту картину, что я хочу, но я хотел бы что-то вроде этого:Java абстрактный узор поле
public abstract class Parent {
protected abstract boolean foo = false; //this doesn't compile
}
public class Child1 extends Parent {
protected boolean foo = true;
}
как я это сделать?
Представьте, что у меня есть 1 Parent
класс, но как 20 Child
классов. для подавляющего большинства детей, foo
должен быть false
. Однако Child1
(и несколько других) является странным с foo = true;
.
Что является самым правильным дизайном OO и тем не менее эффективным для этого способом?
Вы забыли тип, 'boolean'. Кроме того, только методы и классы могут быть абстрактными. Также сделайте это в конструкторе. –
В чем смысл этого? Не можете ли вы просто начать его с правильного значения при создании подкласса? –
@SotiriosDelimanolis oh, thanx для улова. и да, поэтому я написал это в комментариях, которые он не компилирует. хороший вызов части конструктора. –