Как написать и использовать параметризованный интерфейс, java
У меня есть класс CalculationNumber, от него наследуются RealNumber, ComplexNumber. Для каждого класса у меня написан класс, который реализует сложение объектов этого класса:
public class SumRealNumber implements Sum{
public RealNumber sum(List<RealNumber> numbers) {
RealNumber sum = new RealNumber(0.0);
for (RealNumber number : numbers) {
sum.number += number.number;
}
return sum;
}}
public class SumComplexNumber implements Sum {
public ComplexNumber sumComplexNumber(List<ComplexNumber> complexNumbers) {
ComplexNumber sum = new ComplexNumber(0.0, 0.0);
for (ComplexNumber complexNumber : complexNumbers) {
sum.validPart += complexNumber.validPart;
sum.imagePart += complexNumber.imagePart;
}
return sum;
}}
Я хочу написать параметризованный интерфейс Sum, который будет реализовывать метод сложения, и применить этот интерфейс к классам SumComplexNumber и SumrealNumber, но запуталась с параметризацией. Код интерфейса:
public interface Sum <T extends CalculationNumber> {
T sum(List<T> numbers);}
У меня не получается переписать под него классы со сложением. Подскажите, пожалуйста, правильно ли я написала код интерфейса и как правильно применить его к моим классам?
Источник: Stack Overflow на русском