Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP / lectures / 0_oop.ppt
Скачиваний:
53
Добавлен:
03.03.2016
Размер:
340.99 Кб
Скачать

ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Коломойцева Ирина Александровна, кафедра Прикладной математики и информатики (аудитория 4.15)

ЛИТЕРАТУРА

1) Буч Г. Объектно-ориентированное проектирование

спримерами применения. – М.: Конкорд, 1992. – 519 с.

2)Павловская Т.А., Щупак Ю.А. C++. Объектно- ориентированное программирование: Практикум. – СПб.: Питер, 2006. – 265 с.

3)Лафоре Р. Объектно-ориентированное программирование в С++. пер. с англ. А. Кузнецов и др. - 4-е изд. - СПб. : Питер, 2003. - 928с. : ил

4)Фейсон Т. Объектно-ориентированное программирование на Borland C++ 4.5 – К.: Диалектика, 1996. – 544 с.

ВВЕДЕНИЕ В ООП

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

– это подход к построению программ, где главной отправной точкой служит объект с его свойствами и поведением.

Основные принципы ООП были разработаны в языках Simula-67 (1967 – год создания) и Smalltalk.

Широкое распространение ООП получило вместе с созданием языка C++ Бьёрном Страуструпом (Bjarne Stroustrup) в начале 80-х годов XX века.

ООП оперирует с таким понятием как класс.

Класс – это тип данных, определяемый пользователем.

Класс представляет собой совокупность

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

Данные называют переменными-членами, полями или свойствами класса

Операции

над данными

называют

функциями-членами или методами

класса.

Важное свойство класса – детали его реализации скрыты от пользователей класса интерфейсом.

Интерфейс класса – заголовки его методов.

Класс

данные (поля)

функции (методы)

Свойства ООП

-инкапсуляция;

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

-полиморфизм.

Инкапсуляция (encapsulation) – это соединение в одной структуре данных (классе) данных и операций над данными в сочетании со скрытием ненужной для использования этих данных информации.

Инкапсуляция:

-повышает степень уровня абстракции программы;

-позволяет изменить реализацию класса без модификации основной части программы, если интерфейс остался прежним;

-позволяет использовать класс в другом окружении и быть уверенным, что он не испортит не принадлежащие ему области памяти;

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

Наследование означает такое соотношение между классами, когда один класс использует структурную или функциональную часть (свойства) одного или нескольких других классов (соответственно, имеем простое или множественное наследование).

Свойства повторно не описываются, что сокращает объем программы.

Класс, использующий данные или методы другого класса, называется производным или

подклассом, или субклассом.

Класс, предоставляющий свои данные и

методы другому классу, называется базовым

или надклассом, или суперклассом.

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

В C++ каждый класс может иметь сколько угодно потомков и предков.

Animal

mammals amphibia

Wolf

 

Tiger

 

Frog

 

 

 

 

 

Полиморфизм – это свойство ООП, при котором одно и тоже имя может вызывать различные действия на этапе выполнения.

Примеры полиморфизма:

- перегрузка функций, когда из нескольких вариантов выбирается наиболее подходящая функция по соответствию ее прототипа передаваемым параметрам;

– использование шаблонов функций;

- использование механизма виртуальных методов.

Соседние файлы в папке lectures