<<
>>

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

Парадигма объектно-ориентированного программирования является развитием императивного программирования. При ее создании преследовались две цели:

? сократить размеры программ за счет повышения размера строительных элементов («маленькие» переменные заменяются «большими» объектами) и тем самым обеспечить возможность создания (за то же время) более крупных программных приложений;

? упростить процесс создания новых программ на базе старых (за счет применения механизма наследования).

Объектно-ориентированные языки впитали в себя лучшие понятия и механизмы императивных языков. Объектно-ориентированные языки задают вычисления как взаимодействия программных объектов.

74

Глава 3. Виды языков программирования

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

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

Состояние объекта характеризуется перечнем данных и их значений. Поведение задается последовательностью выполняемых операций.

Объекты взаимодействуют друг с другом с помощью сообщений. Посылается сообщение объектом-источником в адрес объекта-приемника. Каждое сообщение — это запрос на выполнение операции объектом-приемником.

Описание объектов с общей структурой и поведением называется классом. Как и переменные, единичные объекты создаются по их описаниям. Только в роли описаний для переменных выступают типы данных, а в роли описаний для объектов — классы. Объект считается экземпляром класса.

Специфику объектно-ориентированного подхода определяют три принципа:

? инкапсуляция (сокрытие своего содержимого от внешнего мира);

? наследование (возможность получения потомками структуры и поведения предков);

? полиморфизм (использование одного и того же имени для выражения различных действий и объектов).

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

Первый объектно-ориентированный ЯП, Simula 67, был придуман норвежцами К. Нигаардом и У. Далом как расширение императивного языка Algol 60. Этот язык опередил свое время и был благополучно забыт.

Второй объектно-ориентированный ЯП, Smalltalk, появился в нужное время (1972-1980) и в нужном месте. Его автором стал Алан Кей из фирмы Xerox.

Широкое распространение получил язык C++, созданный Б. Страуструпом (1983).

Заметим, что очень часто используются гибридные языки, реализующие сразу несколько парадигм: Ada 2005, Eiffel, Object Pascal (императивная и объектно-ориентированная парадигмы), CLOS (функциональная и объектно-ориентированная парадигмы).

<< | >>

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

  1. Г.С.Иванова, Т.Н.Ничушкина, Е.К.Пугачев. Объектно- ориентированное программирование, 2001
  2. О. Л. Голицына, Т. Л. Партыка, И. И. Попов. ЯЗЫКИ ПРОГРАММИРОВАНИЯ, 2008
  3. Прием анализа «объектных» психологических факторов.
  4. Перевод и иностранные языки
  5. Предложение №35 Осваивай новые Языки
  6. Правило анализа «объектных», обстановочных и субъектных психологических факторов
  7. Иванова Г.С. Основы программирования, 2002
  8. Сергей Александрович Орлов. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения, 2013
  9. ТЕСТ КРИТЕРИАЛЬНО - ОРИЕНТИРОВАННЫЙ
  10. 1. На кого ориентироваться?
  11. Основной курс (Программирование)
  12. Эстетика программирования
  13. ПОДХОД ТЕЛЕСНО-ОРИЕНТИРОВАННЫЙ
  14. ТЕРАПИЯ ТЕЛЕСНО-ОРИЕНТИРОВАННАЯ
  15. Часть вторая Родительское программирование
  16. 1.3. Город как феномен, как единство (взаимопереход) объектных и субъектных структур жизнедеятельности человека
  17. Программирование телевизионного вещания
  18. Часть вторая Родительское программирование СУДЬБА ЧЕЛОВЕКА
  19. Нейро-лингвистическое программирование