Объектно-ориентированные языки програмирования

Страница: 12/13

Ада может использоваться для разработки программ, основанных на объектах. Для проектов в военной и аэрокосмической областях другого выбора и нет. Пользователи, не ограниченные этими областями, могут с удовлетворением отметить, что их требования могут быть выполнены другим объектно-ориентированным языком типа Eiffel.

Таблица С2.4 Сравнение языков программирования

Язык

Скрытие

информации

Классы

Наследо-вание

Связы-вание

Сборка мусора

Инстру- ментарий

Simula

да

да

един.

стат.

нет

есть

Smalltalk-80

да

да

един.

динам.

автом.

полный

С++

да

да

един.*

оба

нет

нет

Objective-C

да

да

един.*

оба

нет

есть

Eiffel

да

да

оба

оба

нет

есть

Ada

да

да

нет

стат.

нет

нет

Modula-2

да

нет

нет

стат.

нет

нет

* множественное наследование в стадии разработки

2.7.2. MODULA-2

Modula-2, разработанная Н. Виртом, является прямым потомком языков Algol 60 и Pascal, и привлекает многих, обученных на традиции этих языков. Ее ключевое средство - принцип скрытия информации, заключающийся в отделении спецификации модуля от его реализации. Абстрактные типы данных могут быть определены как закрытые типы. Спецификация типа содержится в модуле с определением, который описывает тип данных и процедуры для доступа к нему. Программы, выполняющие эти процедуры, содержатся в модуле реализации. Как и в Аде, такое разделение служит в качестве механизма инкапсуляции. Однако Modula-2 более ограничивает, чем Ада, не разрешая ни переопределение, ни обобщение операций.

Появилось несколько статей, показывающих, как Modula-2 может быть использована для разработки объектно-ориентированных систем. Это требует существенной нагрузки на программиста, поскольку язык не поддерживает объектно-ориентированные средства, описанные в главе B1. Необходимость пользователей языков Algol-Pascal-Modula в средствах ООП могут быть удовлетворены, например, реализацией языка Modula-3, объектно-ориентированного потомка Modula-2, разработанного группой исследовательского центра фирм DEC и Olivetti в Калифорнии [Cardelli et al 1988].

Реферат опубликован: 8/06/2008