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

Lect02

.pdf
Скачиваний:
11
Добавлен:
06.02.2016
Размер:
738.62 Кб
Скачать

Устройствоклассов.

Какрождаются,живутиумирают объекты

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

доцентПриваловМ.В.

Донецк,ДонНТУ,2011

Состояниеиповедениеобъекта

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

Поведениеопределяетсятем,какие операцииподдерживаетобъектикак ониреализованы.

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

Обязательныеоперации

Конструктор– операциясоздания объектаи/илиегоинициализации.

Деструктор– операция,

освобождающаясостояниеобъекта и/илиразрушающаясамобъект.

Конструкторовможетбытьнесколько, адеструкторвсегдаодин.

Необязательныеоперации.

Селектор– операция,считывающая состояниеобъекта,нонеменяющая состояния

Модификатор– операция,которая изменяетсостояниеобъекта

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

Примерописанияклассав нотацииязыкаUML

Personnel

-name : char* -inn : long

-passportSeries : char* -passportNumber : long

+GetName() : char* +SetName(in name : char*) : void +GetInn() : long

+SetInn(in inn : long) : void +GetPassportSeries() : char*

+SetPassportSeries(in passportSeries : char*) : void +GetPassportNumber() : long +SetPassportNumber(in passportNumber : long) : void

“- “ – private “+” – public “#” – protected

ОписаниеклассавязыкеC++

class имя_класса{ private:

//описанияатрибутовиметодов protected:

//описанияатрибутовиметодов public:

//описанияатрибутовиметодов

};

Описаниеатрибутов(полей) класса

Описаниеатрибутовсовпадаетс описаниемпеременных,таккак атрибут– нечтоиноекак переменная,принадлежащаяклассу (егополе)иопределяющаяего состояние:

тип1идентификатор1; тип2идентификатор2; ит.д.

Описаниеметодов(функцийчленов)класса

Описаниеметодовсовпадаетс описаниемфункций,таккакметод– этофункция,принадлежащаяклассуи определяющаяегоповедение:

типимя_метода(параметрыметода) модификаторы;

Описаниеконструктораи деструктора

Имяконструкторадолжносовпадатьсименемкласса. Конструкторнеимееттипавозвращаемогозначения. Описанийконструкторовможетбытьнесколькоилине бытьвовсе.

имя_класса(параметрыконструктора);

Имядеструктора– это~имя_класса.Деструкторне можетиметьпараметровиневозвращаетрезультат. Деструкторуклассатолькоодиниегоописание необязательно.

~имя_класса();

Оченьпростойкласс

class MyClass { private:

int count; public:

MyClass() { count = 0; } ~MyClass(){}

int printHello() { cout << "Hello!"; } int getCount() const { return count; }

int setCount(int newCount) { count = newCount; }

};

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