Объекты.

Введение.

Классы и объекты.

Глава 2

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

ООП методология преследует те же цели, что и структурная методология:

- дисциплинировать процесс

- снизить сложность и стоимость.

На практике совмещают два подхода: сначала ООП, а потом структурное программирование.

Использование ООП – создание интерфейсных систем, создание больших диалоговых программных комплексов.

 

В терминах C++, объекты считаются близким к типу записи. Объект – комбинированный тип.

 

1. Простейшее определение класса без наследования имеет вид:

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

// по умолчанию раздел private – частные члены класса

public: //открытые функции и переменные класса

};

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

 

2. Объект может включать в себя не только поля данных, но и действия, которые с этими полями могут производиться. Эти действия называются методами. Структура метода, как процедура или функция.

class Strtype{

char str[80]; //private

public:

void set (char *);//задать str

void show(); //вывести str

char* get(); //вернуть str

}; //конец определения класса

 

void Strtype::set(char *s) {// определение метода set()

strcpy(str,s);}//копирование s в str

 

void Strtype::show() {// определение метода show()

cout<<str<<endl;}

 

char * Strtype::get() {// определение метода get()

return str;}

 

В описании объекта находится только заголовок метода.

 

Опр: Инкапсуляция – свойства объектов включать в себя и поля, и методы.

Опр: Объект – это объединение полей данных различных типов и методов обработки этих данных представленных в виде процедур и функций.

 

Пр.2.1 tPoint

 
 

 

 


TColorPoint

 

class

класс tPoint {

tPoint int x, y;

}

 

class tColorPoint {

int x, y; public: tPoint pos;

unsigned char color; unsigned char color;

}

void main{

tPoint p; объекты класса tPoint

tColorPoint pc;

 

p->x = 25; p->y:=30;

x,y – pc->pos->x:=42;

чужие pc->pos->y:= 53;

поля

pc->color:=152;

}

Терминология:

1. Тип class называют классом, а переменную этого типа объектом.

2. Тип называют объектом, а переменную этого типа экземпляром объекта.

Класс существует в единичном экземпляре, а объектов сколько угодно.