Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP второй семестр.doc
Скачиваний:
3
Добавлен:
23.09.2019
Размер:
187.9 Кб
Скачать

http://msdn.microsoft.com/ru-ru/library/z688wt03.aspx

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

Шилдт Базовый курс стр 27

ООП основано на понятии класса и объектов класса, предполагает, что задачу можно разложить на составные части и каждая часть будет самостоятельным объектом. Все языки ООР характеризуются тремя общими признаками: инкапсуляция, полиморфизм и наследование.

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

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

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

три различных способа наследования: (стр 361)

public (наиболее частое), private and protected

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

Если базовый класс наследуется как public –класс, его public – члены становятся public-членами производного класса.

Если базовый класс наследуется как private –класс, его public – члены становятся private -членами производного класса.

Если базовый класс наследуется как prodected –класс, то все его открытые и закрытые члены становятся защищенными членами производного класса

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

class A{

int a,

//тут еще чего-нибудь;}

class B: public A{ //В - производный класс А

int b;

B(int bb): b(b){};

Язык программирование - C++ (С with classes)

Ооп основано на понятии класса и объекта

Шилдт Базовый курс стр 266

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

Объекты – экземпляры класса.

Класс объединяет в себе слeдующие компоненты - данные(date members), функции-члены (методы класса, member funсtions)

Особенность класса - класс может скрывать данные и часть методов от пользователей - Механизм защиты данных

Классы - абстрактные типы данных (АТД), класс реально не существует до тех пор, пока не создан хотя бы 1 объект этого класса. Примеры классов: класс телевизоров, группы студентов, книг...Вещественные числа, класс комплексных чисел)

класс - «группа»

объект - «110 группа»

класс позволяет разделить интерфейс и реализацию

Интерфейс описывает как классом пользоваться, в него входят функции-члены, которые может использовать программист для работы с классом. Реализация класса - набор функций-членов, и то как программист реализовал класс. Для пользования написанным другим программистом классов надо лишь понять интерфейс, а реализацию - не надо (не обязательно). Когда требуется изменить алгоритм внутри класса - нет необходимости изменять интерфейс, если интерфейс сохраняется разработчик может им пользоваться.

параграф 1 - определение класса.

Общий формат объявления класса:

class имя_класса

{

private: данные, методы;

public: данные, методы;

protected: данные, методы;

};

Список объектов;

private, public, protected - спецификаторы (маркеры) доступа, определяют где данные методы могут быть доступны (в какой части программы), по умолчанию private.

private - закрытая часть класса, может объявлять классы и методы, которые будут доступны только функциям-членам этого класса

никакие функции из вне не могут получить доступ к данным класса. (только методы класса)

public - открытый интерфейс класса (открытая часть класса). Доступ к классам и методам можно получить отовсюду, именно поэтому программист может пользоваться этим классом.

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

Отличие структуры от класса - в структуре нет понятий public, private, protected - в структуре только public.

Оператор разрешения области видимости ::

Благодаря этому оператору компилятор определяет к какому классу принадлежит функция.

Тип_возвр_знач имя_класса :: имя_метода (список, параметров) {реализация метода}

Директивы препроцессора (Шилдт 570)

#ifndef ИМЯ_ФАЙЛА - если не определено определить (проверка что не было повторного переопределения)

Общий вид:

#ifdef макроимя // если определено выполнить инструкции

Последовательность инструкций

#endif

#define ИМЯ_ФАЙЛА - определить все что лишнее (вставить)

Используется для определения последовательности которая будет подставляться везде, где будет найден идентификатор (макроимя)

В общем виде: #define макроимя последовательность символов

#endif - завершение того, что надо вставить (завершение последовательности символов)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]