Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки программирования.docx
Скачиваний:
3
Добавлен:
09.09.2019
Размер:
64.85 Кб
Скачать

Балса Алдрин Раульевич – лекции, практика

Марья Владимировна Преображенская – практика

Список литературы:

  1. Герберт Шилдт – «С++ Базовый курс»

  2. Тамара Анатольевна Павловская – «С/С++ Структурное и ООП» 1,2 части, практикум, 1 часть (9 семинар)

  3. Лаптев «С++ ООП / практикум

  4. Стивен Прадт «С++ ООП» - учебник с задачами и упражнениями

Методология ооп

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

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

Объектно-ориентированное программирование – совокупность технологий, принципов, инструментальных средств, для создания программных систем на основе архитектуры взаимодействия объектов.

Основные принципы ООП:

  1. Абстракция

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

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

  4. Полиморфизм (многообразие)

Пример описания модели:

Class Box

{

Public:

Double H;

Double L;

Double W;

Double volume ()

{return H*L*W;}

};

Абстракция

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

Принцип абстракции гласит, что чем больше атрибутов и операций принимается во внимание, то тем ближе полученная модель будет описывать реальную систему.

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

Объект (в контексте ООП) рассматривается как экземпляр соответствующего класса.

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

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

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

Пример обозначений класса и связи между базовым и производным классом на языке UML. Стрелка указывает на базовый класс от производного.