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

21. Ооп. Механизмы ооп.

Класс- это тип, определяемый пр-му, в кот объединяются структуры данных и ф-ции их обработки. Конкретные переменные типа данных «Класс» назыв экземплярами класса или объектами.

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

Механизмы ООП.

1)инкапсуляция – ограничение доступа к данным и их объединение с методами, обрабатывающими эти данные.доступ к отдельным частям класса регулируется с п-ю Ключевых слов Public (открытая часть), Private (закрытая часть), Protected (защищенная часть). Методы, которые располагаются в открытой части предс собой интерфейс класса и м свободно вызываться клиентом через соотв объект класса. Доступ к закрытой секции класса возможен только из его собственных методов, а к защищенной – из его собственных методов, а также методов классов, потомков.

2) Наследование – это получение нового класса из существующего. Производный класс создается путем дополнения или изменения существующего класса.Наследование помогает создать иерархию классов.

3) полиморфизм - дает возможность создавать множественные определения для операций и ф-ций.

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

22. Описание классов в С++.

Обычно описание ф-ций класса и его реализация находятся в различных фалах и создаются автоматически (VS 2005 с помощью команды Add class)

Возможна также реализация ф-ций в одном файле с описанием и более того внутри описания класса (inline ф-ции). Возможно также описание inline ф-ции и вне класса, однако такая функция д.б. предварительно ключевым словом inline. Если в классе нет ни одного метода доступа, то по умолчанию предполагается метод доступа private. Примечание: inline ф-ции обычно используются при небольших размерах ф-ции, потому что inline ф-ции выполняются медленнее, чем внешние.

23. Конструкторы. Деструкт

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

Конст-ор опр, каким образом новый объект типа класса будет создан, как будет проводиться выделение памяти и инициализация объекта/

Пр.Class ch { public: Void f(inta);

Private: Inta; } Cl c; c.f(5);

Пр с использ-ем констр-ра примера кот наход выше:

Class ch { Public; Ch(int a)

Private: Int a; } Cl::ch(int a)

{ this->a=a; }

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

Виды к-ра:

1)По умолчанию-без параметров.Внутри кл они описыв так:

Class cl { public: Cl();……

2)c параметрами:

Class cl { public; Cl(int a); Private }; Int b

Деструкторы.

Спец ф-я,но в отличие от к-ра параметры не передаются.Всегда () пустые. Деструкторы наследуют имена своих классов, с добавлением лидирующего знака тильда '~' Объявляюте:

Class cl { public: Cl(int a); ~cl(); Private:};

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