Similar presentations:
Понятие класса. Лекция №11
1.
Лекция № 11Понятие класса
2.
Вспомним про структуры…Группировка разных типов в один
новый тип данных
struct student
{
char fio[100];
int
year;
float money;
int
status;
};
// поля структуры
struct student st[N];
3.
Вспомним про функции…Группировка разных операций в один
программный блок
int func(char, int, float, ...)
{
// объявление переменных
// операторы
}
4.
Класс = типы + функцииКласс позволяет сгруппировать данные и функции
(методы) в одно целое.
class student
{
данные
функции
};
+ повышение ясности и надежности программ
+ наследование классов
+ переопределение методов в производных классах
5.
Три кита ООПООП – объектно-ориентированное
программирование
ИНКАПСУЛЯЦИЯ – сокрытие деталей реализации
6.
Три кита ООПООП – объектно-ориентированное
программирование
ИНКАПСУЛЯЦИЯ – сокрытие деталей реализации
7.
Три кита ООПНАСЛЕДОВАНИЕ – возможность определять новые
классы посредством добавления данных и методов к
уже существующим классам.
8.
Три кита ООППОЛИМОРФИЗМ
–
выполнение
одинаковых
операций над объектами разными методами.
9.
Класс STUDENTОбъект – экземпляр класса
10.
public и privatePublic (общие) элементы – доступны вне класса.
Можно обращаться через операцию «.».
Private (частные) элементы – доступны внутри
класса.
Можно обращаться посредством методов класса.
Для личных целей, защита от случайного изменения.
По умолчанию все элементы класса частные.
class point
{
int x;
int y;
int color;
};
11.
public и private12.
Определение методов класса вне классаМожно поместить прототип функции внутрь класса,
а затем определить функцию вне класса.
Операция расширения области видимости ::
13.
Конструктор и ДеструкторИмя конструктора совпадает с именем класса, при
объявлении объекта будет автоматически
вызываться конструктор.
Деструктор - функция, которую программа вызывает
каждый раз при уничтожении объекта.
Деструктор имеет такое же имя, как и класс объекта,
но его имя предваряется символом (~).
Деструктор не имеет параметров.
Конструктор и Деструктор не имеют возвращаемого
значения, и не имеют тип void.