скажем, у меня есть следующая простая конструкция:
public abstract class Geometry {
...
}
public class TriangleGeo extends Geometry {
Triangle triangle;
}
public class RectangleGeo extends Geometry {
Rectangle rectangle;
}
public class Rectangle {
private size;
}
public class Triangle {
private size;
}
Теперь у меня есть два метода:
public void calcSizeOfRect(Rectangle rect){
System.out.println(rect.size);
}
public void calcSizeOfTria(Triangle tria){
System.out.println(tria.size);
}
То, что я действительно хочу, это только один метод calcSize для обоих объектов,Потому что на самом деле методы делают 1: 1 одинаковыми и касаются только общих свойств.
Единственный возможный способ решить эту проблему - переместить переменную цвета в класс Geometry. Возможно, вы знаете другой подход к этому? Потому что рефакторинг будет много работы ..
Использование Java 9, если это имеет значение.