У меня есть интерфейс Vector из библиотеки, которые я использую в моем проекте, и я не могу изменить ...Переопределить метод с нежелательным суперкласса аргументом
interface Vector<T> {
public Vector<T> plus(Vector<T> v);
}
Тогда я реализовал ее с классом FourVector
, но проблема возникает в переопределяющий метод плюс. Я хочу FourVector
может добавить только с FourVector
, а не со всеми типами векторов! То, что я пытаюсь сделать, это вещь, как это (но, очевидно, неправильно)
class FourVector<T> implements Vector<T> {
public Vector<T> plus(FourVector<T> v) {
...
}
}
Существует некоторый шаблон или обходной путь, который позволяет реализовать эту идею?
Так что FourVector представляет собой 4-мерный вектор? Если да, как вы можете узнать, какие размеры добавить, когда вы добавляете к нему 2D-вектор? – Tharwen
Да, это представляет собой четырехмерный вектор Минковского. Infact, я хочу предотвратить этот тип несоответствий в переопределяющих методах ... – bluePhlavio