Классы могут иметь формальные родовые параметры, представляющие типы.
Родовые классы служат для описания общих контейнерных структур данных, реализуемых одинаково, независимо от элементов, которые они содержат.
Универсализация требуется только в типизированном языке, гарантирующем статически проверяемую безопасность типов.
Клиент родового класса должен предоставлять фактические типы для формальных параметров.
Единственные допустимые операции над сущностью, чей тип является формальным родовым параметром, - это операции, применимые к любому типу. Сущность может быть правой и левой частью оператора присваивания, фактическим аргументом подпрограммы или операндом теста на равенство или неравенство.
Понятие массива не требует специального языкового механизма и вполне укладывается в обычную схему родового библиотечного класса.
Более гибкое и продвинутое использование универсализации - полиморфные структуры данных и ограниченная универсализация - требует введения наследования.