Лекция 01. Тема Общая характеристика языков программирования высокого уровня


Download 4.1 Mb.
Pdf ko'rish
bet41/57
Sana12.11.2023
Hajmi4.1 Mb.
#1767546
TuriЛекция
1   ...   37   38   39   40   41   42   43   44   ...   57
Bog'liq
Lektsii po YaP Lukinova 2 sem

4.6.1. Перегруженные подпрограммы. 
Перегруженная подпрограмма представляет собой разновидность 
специального полиморфизма, реализуемого также в статике.
Перегруженная подпрограммаэто подпрограмма, имя которой 
совпадает с именем другой подпрограммы, но при этом каждая версия 
перегруженной подпрограммы должна иметь свой уникальный протокол, т.е. 
она должна отличаться от других версий количеством, порядком, типами 
своих параметров или типом возвращаемого значения, если она является 
функцией. 
Ярким примером перегруженных подпрограмм являются подпрограммы 
(процедуры в Pascal или функции в С) ввода/вывода данных, которые имеют 
такую значимость в языках программирования, что воспринимаются наряду с 
остальными операторами языка как обычные команды.
Как правило, подпрограммы ввода/вывлда являются встроенными в 
язык. Например, язык Аdа имеет несколько версий функции вывода PUT. 
Наиболее широко используются версии этой функции, принимающие в 
качестве параметров строку, целое число и числа с плавающей точкой. 
Поскольку каждая версия функции PUT имеет уникальные типы параметров, 
компилятор может однозначно различать вызовы функции PUT с 
различными типами параметров.
В языках Аdа, Java и C++ пользователи также могут создавать свои 
перегруженные подпрограммы, т.е. создавать несколько версий подпрограмм 
с одним и тем же именем.


4.6.2. Настраиваемые подпрограммы 
Настраиваемые подпрограммы представляет собой динамическую 
разновидность параметрического полиморфизма. 
Настраиваемая подпрограмма – это подпрограмма, при каждом вызове 
которой загружаются фактические значения разных типов, т.е. параметрами 
здесь являются типы формальных переменных. Изначально типы 
формальных параметров не определяются, они связываются в динамике с 
типами фактических значений.
Такие подпрограммы позволяют использовать один и тот же алгоритм 
для данных различных типов. 
Реализованы в языках Ada, в С и С++ настраиваемые функции 
называются шаблонные функции или шаблоны.

Download 4.1 Mb.

Do'stlaringiz bilan baham:
1   ...   37   38   39   40   41   42   43   44   ...   57




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling