Objtct-ориентированное программирование
В практическом применении алгоритмические языки оказались неудобными при программировании структурных данных. Для устранения этого недостатка появилось объективно-ориентированное программирование, основой которого является объект. Как и новый физический объект, он содержит в себе свойства и методы. Свойства объекта определяют экземпляр объекта среди однотипных объектов. Методы объекта позволяют получать на основе свойств новые данные об объекте. Возьмем для примера объект "квадрат" (рис. 1.14).
Рис. 1.14. Объект “квадрат”
Сутью этого объекта являются прямые углы четырехугольника и все одинаковые его стороны. Единственным свойством этого объекта является его сторона а, по которой и отличается один экземпляр объекта от другого. Можно для квадрата определить три метода: размер диагонали ( ), периметр (4а) и площадь ( ).
Реальные объекты содержат в сравнении с квадратом большее число свойств и методов.
Примечательной особенностью любого объекта является возможность текущего объекта наследовать свойства и методы базового объекта. В процессе наследования отпадает необходимость повторного написания алгоритмов методов, имеющихся в базовом объекте.
Чаще всего все объектно-ориентированые языкив своей основе содержат объекты создания интерфейса. Базовым объектом всегда является точка экранной плоскости.
Обработка любого экранного объекта всегда сопровождается обработкой событий. Под событием понимается действие, произведенное в поле видимости объекта. Это может быть нажатие клавиши на клавиатуре, установка указателя мыши на объекте или одноразовый и двухразовый щелчок левой или правой клавишей мыши. Набор базовых событий всегда регламентирован в языке. Последние языки (С#). имеют возможность определения своих событий, наследуемых от события установки указателя мыши на объект.
Объективно-ориентированное программирование позволило, прежде всего, технологизировать создание интерфейса программной оболочки. Очевидно, наличие базовых объектов создало ситуацию невозможности компилирования такой программы на любом компьютере. Такое компилирование оказывается возможным только при идентичной системе объектов в программных продуктах, в том числе особенно на различных платформах ЭВМ (например IBM или Mac).
Дальнейшая технологизация разработки программных продуктов и возможности переноса программ с платформы на платформу привело к идее создания платформо-независимого объектно-ориентированного языка. Эта идея базируется на отвязке от системы базовых объектов путем компиляции в промежуточной код с явным описанием базовых объектов. Этот язык напоминает язык С, создание компилятора с которого на любом новом компьютере не представляет большого труда.
К платформо-независимому языку относится дальнейшая доработка С++: язык С# (Си шарп).
Внедрение платформо-независимых языков позволяет утверждать, что такая технология будет очень сильно стимулировать появление новых, более современных, компьютеров. Это связано с использованием для этих новых компьютеров всех платформо-независимых программных продуктов, разработанных для более ранних моделей компьютеров. Для нового компьютера необходимо только параллельно разработать компилятор с промежуточного языка.
Самым последним достижением в области технологии программирования являются попытки создания агентно-ориентированногопрограммирования. Агент отличается от объекта наличием полиморфизма методов. В зависимости от конкретной ситуации агент выбирает из набора наиболее оптимальный метод обработки данных. В настоящее время эта технология находится на стадии подъёма.