У меня есть родительский класс:
abstract class Parent {
abstract int getX();
}
И две разные реализации подкласса:
class AgnosticChild extends Parent {
private int x = 5;
@Override
int getX() {
return x;
}
}
class ManipulativeChild extends Parent {
private static int x = 5;
ManipulativeChild() {
x++;
}
@Override
int getX() {
return x;
}
}
Обе getX()
реализации идентичны. Есть ли способ избавиться от этой избыточности, сохраняя различные реализации для x
? Предположим, что реализация getX()
намного сложнее на практике.