> -- Info21 писал(а):
> Лучше последовать примеру И.Д. и научиться программировать по хорошей книжке.Окупится мультикратно.Конечно можно, и нужно. Никто не отрицает.
Только вот, отрицание параметрического задания класса сродни отрицанию третьего измерения
Можно так и пыхтеть в двух измерениях, а можно признать существование третьего и получить дополнительную степень свободы.
Ведь параметрический полиморфизм по-сути просто устраняет рутинные операции.
Допустим, нам нужны три списка: список целых, список строк и список вещественных элементов.
В традиционном подходе, описываем+кодируем три разных структуры, реализующих списки - TIntegerList, TStringList и TFloatList.
А параметрический полиморфизм избавляет от этой рутины.
Написали: TIntegerList = TList<Integer>, TStringList = TList<String> и TFloatList = TList<Float>. И... компилятор генерирует готовые классы со всем необходимым функционалом. И строгим статическим контролем типов!