ФЭНДОМ


Обобщённое программирование — это парадигма программирования, заключающаяся на написании алгоритмов, которые можно применять к различным типам данных. В том или ином виде поддерживается разными языками программирования. Возможности обобщённого программирования впервые появились в 70-х годах в языках CLU и Ada, а затем во многоих объектно-ориентированных языках, таких как C++, Java, D и языках для платформы .NET.

C++Править

В языке C++ обобщённое программирование основывается на понятии «шаблон», обозначаемом ключевым словом template. Широко применяется в стандартной библиотеке C++ (см. STL), а также в сторонних библиотеках boost, Loki. Большой вклад в появление развитых средств обобщённого программирования в C++ внёс Александр Степанов.

ПримерПравить

Функция, возвращающее большее значение из двух.

template <typename T>
T max(T x, T y)
{
    if (x < y)
        return y;
    else
        return x;
}

JavaПравить

Java предоставляет средства обобщённого программирования, синтаксически основанные на C++, начиная с версии J2SE 5.0. В этом языке имеются generics или «контейнеры типа T» — подмножество обобщённого программирования.

.NETПравить

На платформе .NET средства обобщённого программирования появились в версии 2.0.

Пример на C#Править

interface IPerson {
  string GetFirstName();
  string GetLastName();
}
class Speaker {
  public void speakTo<T>(T person) where T : IPerson {
    string name = person.GetFirstName();
    this.say("Hello, " + name);
  }
}

DПравить

В языке «D» средства обобщённого программирования сделаны на основе C++.

ПримерПравить

template factorial(int n) {
    static if (n == 1)
        const int factorial = 1;
    else
        const int factorial = n * factorial!(n-1);
}

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики