русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Особенности объектно-ориентированной программирования (ООП)


Дата добавления: 2013-12-23; просмотров: 1377; Нарушение авторских прав


 

Структурное программирование приспособлено для описания действий, а ООП - для описания моделей.

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

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

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

Значительно упростить понимание сложных задач удается за счет усложнения иерархии. Усложнение иерархии от уровня к уровню достигается за счет наследования. Наследование – это расширение свойств наследника за счет принятия всех свойств предка.

ООП использует также понятие "полиморфизма", состоящее в возможности переопределять методы класса-родителя. Иными словами, полиморфизм означает общий род действий, которые могут быть выполнены многими специфическими путями, в зависимости от того, какие объекты выполняют действия. Неразрывно с полиморфизмом связано понятие динамического связывания – возможность отложить подстановку реального адреса некоторой подпрограммы-метода с этапа компиляции (раннее связывание) до момента выполнения программы (позднее связывание), что используется для стандартизации работы с объектами.



Любой объект в ООП обладает определенным поведением и состоянием. Поведение объекта – это то, как он реагирует на воздействия. Состояние объекта представляет собой суммарный результат его поведения.

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

Основные типы операций над объектами:

Таблица 3.1

Название Содержание
Конструктор Создает и инициализирует объект.
Деструктор Освобождает объект, т.е. разрушает его.
Модификатор Изменяет состояние объекта.
Селектор Считывает состояние объекта без изменения этого состояния.
Итератор Организует доступ ко всем частям объекта в строго определенной последовательности.

 

Рассмотрим пример объекта Окружность.

 

Внутренность объекта

ОКРУЖНОСТЬ А

 

Переменные

Позиция 15,20

Размер 5

Методы

Форма

- Маркер ПероВверх

- Маркер СдвигК : Позиция

- Маркер СдвигНа : Размер

- Маркер ПероВниз

- Маркер ЧертитьДугу : Размер,360

Высветить

- Маркер Черный

- Себе Форма

Стереть

- Маркер Белый

- Себе Форма

 

 

МАРКЕР

 

Методы

ПероВверх

ПероВниз

Черный

Белый

СдвигК : X,Y

СдвигНа : Z

ЧертитьДугу : R,j

...

 

Сообщения (операции) объекту ОкружностьА:

ОкружностьА.Высветить

ОкружностьА.Стереть

 

Тогда можно отобразить иерархию классов в следующем виде:

 


 

4. БАЗОВЫЕ ЭЛЕМЕНТЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ С/С++



<== предыдущая лекция | следующая лекция ==>
Алгоритмы сортировки | Состав языка


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.092 сек.