Вопрос, который я задаю, состоит в том, правильно ли я смоделировал подклассы UserControl. В частности, базовый класс имеет метод public abstract JComponent toComponent()
. Во время реализации подклассы должны переопределять метод, сохраняя при этом сигнатуру метода, за исключением того, что оператор return должен возвращать специализированный компонент, т.е. На диаграмму и прийти к следующему выводу.
public JButton toComponent(){
if(GUIComponent == null || !(GUIComponent instanceof JButton)){
return new JButton();
} else{
return (JButton) GUIComponent;
}
}
Где предполагаемая реализация:
public JComponent toComponent(){
if(GUIComponent == null || !(GUIComponent instanceof JButton)){
return new JButton();
} else{
return GUIComponent;
}
}
В этом случае реализация может не вызывать большого беспокойства, однако в более сложной системе она может оказаться решающей. Поэтому я хотел бы знать, как правильно смоделировать переопределение метода для возврата другого типа при сохранении точности подписи.