36224

Инкапсуляция. Вызов функций – членов класса

Доклад

Информатика, кибернетика и программирование

Вызов функций – членов класса. В объектноориентированном программировании данные и функции их обрабатывающие могут быть объединены вместе в рамках одного класса как бы помещены в 1 капсулу что и является инкапсуляцией. Обычно данные класса объявляются рrivte и работа с ними возможна только методами данного класса. можно вызывать их за пределами класса.

Русский

2013-09-21

24.5 KB

2 чел.

100 . Инкапсуляция. Вызов функций – членов класса.

В объектно-ориентированном программировании данные и функции, их обрабатывающие, могут быть объединены вместе в рамках одного класса, как бы помещены в 1 капсулу, что и является инкапсуляцией.

Обычно данные класса объявляются рrivate и работа с ними возможна только методами данного класса. А методы, обычно объявляются общими (рublic) и посредством их можно манипулировать данными, т.е. можно вызывать их за пределами класса. Таким образом данные скрываются и гарантия их сохранности возрастает.

Пусть есть класс, который содержит данные типа int– день, месяц, год (d,m,y) и функции по их увеличению. Эти функции называются методами данного класса.

Class DATE

{  int d,m,y;

рublic

void add_year (int n);

void add_month (int n);

void add_day (int n);

};

Методы класса описываются ниже, При этом надо указать имя класса, потом операцию «::», а затем имя метода:

void DATE :: add_year (int n)

 { y+ = n;  }

Как видно, в методах класса можно использовать данные этого класса.

Чтобы вызвать функцию – метод класса в той части программы, которая не является частью класса, надо использовать имя объекта и операцию «.» (операцию доступа к методу класса).

Т.е. если есть 2 объекта (а и b) класса DATE:

DATE а,  b ;

И надо, чтобы отработала функция add_year объекта а, то вызывается она так:

а.add_year (5)

При этом будет увеличен год объекта а на 5.