Введение.
Классы и объекты.
Глава 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. Тип называют объектом, а переменную этого типа экземпляром объекта.
Класс существует в единичном экземпляре, а объектов сколько угодно.