Я хочу создать два типа векторов (в виде классов):
- Первый тип - это обычный вектор с двумя компонентами (начальной и конечной точкой).
- Второй тип также является вектором, но вместо одного он имеет две конечные точки , между которыми вы можете переключаться.
Моя идея заключалась в создании абстрактного суперкласса (например, AbstractVector
), в котором я определяю общие функции векторов:
abstract class AbstractVector {
//Methods, e.g. length(), getter...
}
Затем мои два подкласса Vector
и (например) TriVector
расширяют вышеуказанный класс. Проблема, с которой я сталкиваюсь, заключается в обработке двух конечных точек в классе TriVector. Я абсолютно не знаю, как это сделать или как правильно настроить абстрактный класс, чтобы у меня был нормальный вектор и вектор с двумя окончаниями, между которыми я могу переключаться (например, у класса TriVector
есть метод switch()
который переключается между двумя конечными точками).
Я надеюсь, что кто-нибудь может мне помочь или предложить лучшее решение.