Как специализироваться на параметрах, отличных от «this» в JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как специализироваться на параметрах, отличных от «this» в Java

Сообщение Anonymous »

Рассмотрим следующий пример:

Код: Выделить всё

abstract class Numeric {
abstract public Numeric add(Numeric other);
}

Код: Выделить всё

class Real extends Numeric {
private double inner;

public Real add(Real other) {
return this.inner + other.inner;
}
}
Я могу специализироваться на возвращаемом типе (без сомнения, из-за ковариации), но компилятор (по понятным причинам) все равно выдает ошибку, поскольку моя реализация add всего лишь Real недостаточно для соблюдения более широкого контракта Numeric.
Есть ли способ выразить в суперклассе (например, Numeric ), что разработчики может специализироваться на параметрах, отличных от этого, без использования дженериков (поскольку они являются ортогональными для меня, если только вы не рассматриваете только чисто статические методы)?

Подробнее здесь: https://stackoverflow.com/questions/791 ... is-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»