Как правильно создать иерархию классов?
1. Есть два класса отрезков линий
2. 1-ый получается извне
2-ой вычисляется из первого
3. Классы очень похожи по своим внутренним полям:
координаты, длинна, другие одинаковые характеристики, основное
отличие - это разные входные данные для инициализации
Методы различаются - но их немного.
Как реализовать вариант 1. Или я не прав и надо делать вариант 2.
1. Вынести приватные поля в общий базовый класс - тогда как к ним получить доступ в потомках?
Через
@property по идее не будет работать - так как указатель self указывает на объекты класса-потомка.
2. Сделать два отдельных класса с кучей повторяющихся полей - объем небольшой, и не
стоит огород городить?
Собственно основное что смущает в ООП - невозможно скрыть поля за пределами иерархии классов,
но оставить доступ для потомков.