Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

[ООП] Лекция 1

.pdf
Скачиваний:
13
Добавлен:
21.03.2016
Размер:
359.16 Кб
Скачать

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

лекция 1

Литература

Павловская Т.А. C/C++ Программирование на языке высокого уровня. – СПб.:Питер, 2003.

Подбельский В.В. Язык С++: Учебное пособие.– М.: Финансы и статистика, 2000.

Страуструп Б. Язык программирования С++.– СПб.:Бином, 2002.

Лафоре Р. Объектно-ориентированное программирование в С++ – СПб.:Питер, 2003.

Юров В.И. Assembler. Учебник для ВУЗов.

Подходы к программированию

Процедурно-ориентированный: оперирует абстракцией алгоритма(ex. Си)

Логико-ориентированный: цели, выражены на языке логических предикатов(ex. Prolog)

Объектно-ориентированный: абстрагирует классы и объекты(ex. C++)

"Объектно-ориентированное программирование – это методология программирования, основанная на организации программы, в виде совокупности объектов, каждый из которых является представителем определенного класса, а классы образуют иерархию наследования.” Грейди Буч

Кризис программного обеспечения

Задачи, которые мы хотим решить,

опережают наши возможности

->

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

=

ООП

Свойства сложных систем

Являются иерархическими и состоят из взаимозависимых подсистем, которые в свою очередь также могут быть разделены на подсистемы и т.д. – до самого низкого уровня.

Выбор элементарных компонентов произволен и зависит от исследователя.

Каждая часть системы имеет свою функцию и может рассматриваться независимо от других.

Системы состоят из немногих типов подсистем, по-разному скомбинированных и организованных.

Система сложнее, чем совокупность ее частей.

Ex: ПК, растение, человек, предприятие, государство

ООП

Объектно-ориентированное программирование – «парадигма» программирования (набор теорий, стандартов и методов, которые совместно представляют собой способ организации знаний) - Стиль программирования, который фиксирует поведение реального мира таким способом, при котором детали его реализации скрыты .

Понятие объекта

Модель объекта реального мира, сущность, обладающая определенным поведением.

Объект характеризуется своим состоянием (поля - элементы данныхатрибуты).

Поведение – это то, как объект взаимодействует с окружением (другими объектами) - реакция на манипуляции с ним или действия, инициированные самим объектом.

Действия в отношении к объектам называют передачей сообщений между ними. В C++ действия представлены функциями-элементами объекта или методами. Эти функции являются структурными элементами определения класса, к которому принадлежит объект.

Программа- совокупность взаимодействующих объектов.

Понятие класса

Класс - множество однотипных объектов с одинаковым поведением и набором атрибутов.

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

Объекты называются экземплярами класса.

Основные свойства ООП

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

Наследование

Полиморфизм

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

Объединение данных с функциями их обработки в сочетании со скрытием ненужной для использования этих данных информации ( + повышение уровня абстракции) .

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

Изменение состояния объекта извне достигается только с помощью передачи сообщения (вызова метода).