У меня есть класс B, который выходит из класса A, класс B переопределяет метод класса A:
public class ClassB extends ClassA {
@Overrides
protected void DoSomething() {
super.DoSomething();
// Some ClassB code here, called WorkB
}
}
После этого я создаю объект класса B, и мне нужно сделать что-то дополнительное в дополнение к версии A в DoSomething ():
ClassB objB = new ClassB() {
@Overrides
protected void DoSomething() {
// I need to do something more here
}
}
Мне нужно знать, могу ли я сделать ВСЕ из ClassA
работ, ClassB
работ, а затем добавить какой-нибудь другой код для objB в этом методе? У меня есть решение: создайте public method
в ClassB
, который делает WorkB
, затем в objB
, просто вызовите метод. Но я хочу знать, есть ли другой способ (неважно, хуже или лучше мое решение!).
РЕДАКТИРОВАТЬ: Я суммирую вопрос, чтобы вы могли легко понять его:
Class A
'* * * * * * * * * * * *.
Class B
переопределяет doSomething
, вызывает super.doSomething () и некоторый дополнительный код, что означает, что он делает WorksA
, и дополнительный, называемый WorksB
.
- Объект
objB
doSomething()
метод должен сделать WorksA
, WorksB
и еще один дополнительный элемент, называемый WorksBExtra
.
Вот и все.