Объектно-ориентированное программирование на языке С++. Ноткин А.М. - 6 стр.

UptoLike

Составители: 

7
ление класса, можно получить доступ к компонентам объекта класса. Тем
самым не выполняется основной принцип абстракции данныхинкапсу-
ляция (сокрытие) данных внутри объекта. Для изменения видимости ком-
понент в определении класса можно использовать спецификаторы доступа:
public, private, protected.
Общедоступные (public) компоненты доступны в любой части про-
граммы. Они могут использоваться любой функцией как
внутри данного
класса, так и вне его. Доступ извне осуществляется через имя объекта:
имя_объекта.имя_члена_класса
ссылка_на_объект.имя_члена_класса
указатель_на_объект->имя_члена_класса
Собственные (private) компоненты локализованы в классе и не дос-
тупны извне. Они могут использоваться функциямичленами данного
класса и функциями – “друзьямитого класса, в котором они описаны.
Защищенные (protected) компоненты доступны внутри класса и в
производных классах.
Изменить статус доступа к компонентам класса можно и с помощью
использования в определении класса ключевого
слова class. В этом случае
все компоненты класса по умолчанию являются собственными.
Пример.
class complex
{
double re, im; // private по умолчанию
public:
double real(){return re;}
double imag(){return im;}
void set(double x,double y){re = x; im = y;}
};
Конструктор.
Недостатком рассмотренных ранее классов является отсутствие ав-
томатической инициализации создаваемых объектов. Для каждого вновь
создаваемого объекта необходимо было вызвать функцию типа set (как для
класса complex) либо явным образом присваивать значения данным объек-
та. Однако для инициализации объектов класса в его определение можно
явно включить специальную
компонентную функцию, называемую конст-
руктором. Формат определения конструктора следующий:
имя_класса(список_форм_параметров){операторы_тела_конструктора}
                                     7

ление класса, можно получить доступ к компонентам объекта класса. Тем
самым не выполняется основной принцип абстракции данных – инкапсу-
ляция (сокрытие) данных внутри объекта. Для изменения видимости ком-
понент в определении класса можно использовать спецификаторы доступа:
public, private, protected.
      Общедоступные (public) компоненты доступны в любой части про-
граммы. Они могут использоваться любой функцией как внутри данного
класса, так и вне его. Доступ извне осуществляется через имя объекта:
      имя_объекта.имя_члена_класса
      ссылка_на_объект.имя_члена_класса
      указатель_на_объект->имя_члена_класса
      Собственные (private) компоненты локализованы в классе и не дос-
тупны извне. Они могут использоваться функциями – членами данного
класса и функциями – “друзьями” того класса, в котором они описаны.
      Защищенные (protected) компоненты доступны внутри класса и в
производных классах.

      Изменить статус доступа к компонентам класса можно и с помощью
использования в определении класса ключевого слова class. В этом случае
все компоненты класса по умолчанию являются собственными.

     Пример.
     class complex
     {
       double re, im;            // private по умолчанию
       public:
       double real(){return re;}
       double imag(){return im;}
       void set(double x,double y){re = x; im = y;}
     };

      Конструктор.
      Недостатком рассмотренных ранее классов является отсутствие ав-
томатической инициализации создаваемых объектов. Для каждого вновь
создаваемого объекта необходимо было вызвать функцию типа set (как для
класса complex) либо явным образом присваивать значения данным объек-
та. Однако для инициализации объектов класса в его определение можно
явно включить специальную компонентную функцию, называемую конст-
руктором. Формат определения конструктора следующий:

имя_класса(список_форм_параметров){операторы_тела_конструктора}