Объектно-ориентированный язык программирования С++ в примерах. Сивохин А.В. - 13 стр.

UptoLike

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

И в том,и в другом случае функция Point называется функ-
цией-членом структуры Point. Она реализует определенный метод
доступа к полям этой структуры.В общем случае, определение
структуры в соответствии с принципами объектно-ориентирован-
ного программирования должно содержать описания или определе-
ния всех функций,которые так или иначе используют поля этой
структуры.Таким образом,и функции,и данные должны быть вмес-
те во время проектирования программ.Когда функции и данные
существуют отдельно,всегда есть опасность вызова правильной
функции с неверными данными или неверной функции с правиль-
ными данными.
Интеграция определения данных и функций,обеспечивающих до-
ступ к этим данным,в одной структуре-капсуле называется ин-
капсуляцией данных.Инкапсуляция данных-это дисциплина,которой
должен следовать программист,проектирующий надежную програм-
мную систему.
Функция Point имеет специальное название - конструктор объ-
екта.Для нее не надо задавать тип возвращаемого значения (в
данном случае слово void было бы излишним).Расширим набор фу-
нкций-членов для структуры Point:
struct Point: /*-точка на экране в графическом режиме: */
Location /*-позиция; */
{ Boolean Visible;/*-видимость точки на экране; */
Point(int x,int y, Boolean Visible)
{ this->x=x;
this->y=y;
this->Visible=Visible;
}
int GetX() { return x; } /*-возвращает абсциссу; */
int GetY() { return y; } /*-возвращает ординату; */
void PrintPoint()
{ cout<<"\n"<<"x="<<x<<" "<<"y="<<y;
cout<<"\n"<<Visible?'*':' ';
}
};/*-конец определения структуры Point; */
13
 И в том,и в другом случае функция Point называется функ-
цией-членом структуры Point. Она реализует определенный метод
доступа к полям этой структуры.В общем случае, определение
структуры в соответствии с принципами объектно-ориентирован-
ного программирования должно содержать описания или определе-
ния всех функций,которые так или иначе используют поля этой
структуры.Таким образом,и функции,и данные должны быть вмес-
те во время проектирования программ.Когда функции и данные
существуют отдельно,всегда есть опасность вызова правильной
функции с неверными данными или неверной функции с правиль-
ными данными.
  Интеграция определения данных и функций,обеспечивающих до-
ступ к этим данным,в одной структуре-капсуле называется ин-
капсуляцией данных.Инкапсуляция данных-это дисциплина,которой
должен следовать программист,проектирующий надежную програм-
мную систему.
  Функция Point имеет специальное название - конструктор объ-
екта.Для нее не надо задавать тип возвращаемого значения (в
данном случае слово void было бы излишним).Расширим набор фу-
нкций-членов для структуры Point:


  struct Point: /*-точка на экране в графическом режиме:       */
                Location /*-позиция;                           */
         { Boolean Visible;/*-видимость точки на экране;       */
                    Point(int x,int y, Boolean Visible)
                              { this->x=x;
                                  this->y=y;
                                  this->Visible=Visible;
                              }
           int GetX() { return x; } /*-возвращает абсциссу; */
           int GetY() { return y; } /*-возвращает ординату; */
          void PrintPoint()
                { cout<<"\n"<<"x="<