Непейвода Н.Н. Программирование. Раздел 3

Непейвода Н.Н. Программирование. Страница 293

Эти иллюстрации показывают, что в языке программирования одно и то же обозначение может относиться к разным сущностям, но за счет дополни­тельной информации всегда однозначно понятно, какая конкретная сущность должна быть использована. О таких обозначениях говорят, что они являются полиморфными.

Важным видом полиморфизма является полиморфизм имен: один и тот же идентификатор, описанный в разных пространствах имен, обозначает различное: данные, алгоритмы и др. Здесь смысл идентификатора, или, что то же, то, имя какой сущности используется, раскрывается посредством при­менения правил локализации имен (см. следующий параграф). Процедуры с одним и тем же именем, но обозначающие разные алгоритмы (в С++ и др.), — разновидность полиморфизма имен, раскрываемого за счет привлечения так называемых сигнатур — информации о количестве и типах параметров. Это в точности то же самое, что и полиморфизм операций в выражении, когда конкретный смысл операции выявляется типами аргументов.

При рассуждениях о процедурах удобно рассматривать сигнатуру как часть имени. И хотя такое рассмотрение несколько противоречит разграни­чению контекстносвободного синтаксиса и контекстных зависимостей, это противоречие не распространяется далее конкретного синтаксиса языка. Для читателей, сведущих в объектноориентированном программировании, заметим, что частью имени нельзя считать информацию о том, какая из од­ноименных виртуальных функций будет использована при вычислениях. Эта информация извлекается в динамике вычислений из того, к какому классу относится действующий в данный момент объект, когда понятие именова­ния уже не рассматривается. Этот динамический полиморфизм зачастую рассматривают как единственный вид полиморфизма в языках программи­рования, что ничем не мотивировано.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама