Фрагмент для ознакомления
2
3. СИНТАКСИЧЕСКИЕ СРЕДСТВА ОБЪЕКТНО-ОРИНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
Современный объектно-ориентированный язык предлагает следующий набор синтаксических средств:
‒ Объявление классов с полями (данными – членами класса) и методами (функциями – членами класса).
‒ Механизм расширения класса (наследования) – порождение нового класса от существующего с автоматическим включением всех особенностей реализации класса-предка в состав класса-потомка.
‒ Средства защиты внутренней структуры классов от несанкционированного использования извне, используя модификаторы доступа к полям и методам, например public, private, protected.
‒ Конструкторы – специальные методы, которые автоматически вызываются при создании объекта и инициализируют его.
‒ Деструкторы – специальные методы, которые автоматически вызываются при удалении (разрушении) объекта.
‒ Полиморфные переменные и параметры функций (методов), позволяющие присваивать одной и той же переменной экземпляры различных классов.
‒ Полиморфное поведение экземпляров классов за счёт использования виртуальных методов.
‒ Интерфейсы – любой класс может реализовать некоторый интерфейс.
‒ Перегрузка операторов для классов – специальные методы, которые автоматически вызываются вместо стандартных операторов при выполнении операций с объектами. [1, 3, 5, 7]
4. ДОСТОИНСТВА И НЕДОСТАТКИ ОБЪЕКТНО-ОРИНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
К недостаткам объектно-ориентированного подхода к программированию можно отнести:
‒ необходимость изучения концепций объектно-ориентированного программирования;
‒ обилие библиотек компонентов повторного использования;
‒ проектирование классов достаточно сложный процесс;
‒ неэффективное выполнение, т.к. использование инкапсуляции данных приводит к необходимости вызова процедуры каждый раз при доступе к данным;
‒ неэффективный расход памяти;
‒ излишняя универсальность, поскольку в библиотечном классе, как правило, содержится методов больше, чем это необходимо, что в конечном итоге увеличивает размер программного кода.
Вместе тем объектно-ориентированный подход дает следующий ряд преимуществ:
‒ использование стандартных соглашений для вызова широкого диапазона операций;
‒ возможность управления большими программными проектами, за счет разбивки больших задач на более мелкие и легко образуемые части, т.е. конструирование из простых компонентов – абстракция;
‒ более безопасный код за счет использования инкапсуляции;
‒ возможность аккумуляции удачных решений в виде стандартных объектов, используемых для создания новых объектов – наследование;
‒ модульное программное окружение, которое сводит повторы при кодировании к минимуму;
‒ возможность модификации отдельных компонентов без изменения остальных компонентов;
‒ возможность порождения множества экземпляров функции или объекта при использовании одного и того же кода.
В заключении отметим, что многие современные объектно-ориентированные языки реализуются как системы визуального программирования. Такие системы предоставляют разработчикам такой интерфейс, который при составлении программного кода позволяет видеть те графические объекты, для которых он пишется. Отличительной характеристикой подобного рода систем является наличие в них среды разработки программ из готовых «строительных блоков», которые позволяют создавать интерфейсную часть разрабатываемой программы в режиме диалога, практически без написания программного кода. Среда программирования выполняет функции по управлению компьютером, что позволяет в простых случаях обходиться без особых знаний о деталях ее работы. Визуальная среда программирования самостоятельно генерирует большую часть программного кода: описание объектов, заголовки процедур и многое другое. Разработчику программного продукта необходимо лишь дополнить код, определив индивидуальное поведение программы, которое система программирования не в состоянии предвидеть, при этом она сама указывает место для размещения этого кода. [1 – 3, 4, 5 , 7]
5. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ
Многие современные языки программирования созданы с целью облегчения объектно-ориентированного программирования. Однако следует отметить, что можно применять объектно-ориентированный подход и для не-объектно-ориентированного языка и наоборот, применение объектно-ориентированного языка вовсе не означает, что код автоматически становится объектно-ориентированным.
Объектно-ориентированный язык программирования – это язык, который базируется на принципах объектно-ориентированного программирования.
Как правило, объектно-ориентированный язык содержит следующий набор элементов:
объявление классов с полями (данными – членами класса) и методами (функциями – членами класса);
механизм расширения класса (наследования), т.е. порождение от существующего класса нового класса с автоматическим дополнением всех особенностей реализации класса-предка в состав класса-потомка;
полиморфные переменные и параметры функций (методов), которые позволяют присваивать одной и той же переменной экземпляры различных классов;
полиморфное поведение экземпляров классов за счёт использования виртуальных методов.
Существуют языки программирования, которые в полной мере отвечают принципам объектно-ориентированного программирования: все основные элементы – это объекты, которые имеют состояние и связанные методы. Примерами таких языков являются Smalltalk, Eiffel.
Существуют гибридные языки программирования, которые в одной программе совмещают объектные модели с иными моделями, за счёт использования нестандартных возможностей объектно-ориентированного
Показать больше
Фрагмент для ознакомления
3
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Бадд Т. Объектно-ориентированное программирование в действии: Пер. с англ. СПб.: Питер, 1997. – 464 с.
2. Вайсфельд, М. Объектно-ориентированное мышление / М. Вайсфельд. - М.: Питер, 2014. – 338 c.
3. Иванова Г.С. Технология программирования. М.: Кнорус, 2013. – 389 с.
4. Иванова Г. С. Объектно-ориентированное программирование: учебник / Г. С. Ива нова, Т. Н. Ничушкина ; под общ. ред. Г. С. Ивановой. – М.: Изд-во МГТУ им. Н. Э. Баумана, 2014. – 455 с.
5. Информатика: учеб. / под ред. Н. В. Макаровой. М.: Финансы и статистика, 2013.
6. Комлев, Николай Юрьевич Объектно Ориентированное Программирование. Хорошая книга для Хороших Людей / Комлев Николай Юрьевич. – М.: Солон-Пресс, 2014. – 770 c.
7. Симонович С.В. Информатика. Базовый курс. – СПб., Питер, 2013.