ВУЗ:
Составители:
Рубрика:
Point VarPoint={0,0,true};/*-переменная с инициализацией; */
Point& RefPoint=VarPoint; /*-ссылка на Point; */
Point* PtrPoint=new Point;/*-указатель на Point; */
tipedef struct Point* PointPtr;/*-производный от Point тип*/
PointPtr DynPoint;/*-требуется использование операторов */
/* new для размещения и delete для уда- */
/* ления структуры Point; */
Доступ к полям данных объектов производится обычным спосо-
бом:
cout<<"\n"<<"x="<<VarPoint.x<<" "<<VarPoint.y<<" "
<<"\n"<<"Доступ к унаследованным полям,как к своим!"
<<"\n"<<"Visible="<<VarPoint.Visible;
cout<<"\n"<<"RefPoint.Visible="<<RefPoint.Visible;
cout<<"\n"<<"PtrPoint->Visible="<<PtrPoint->Visible=
RefPoint.Visible;
Следует особо подчеркнуть,что унаследованные поля доступны
так же, как и поля,объявленные внутри данного типа объекта.На-
пример,хотя х и у не являются частью объявления Point,но на-
следуются из типа Location,и поэтому их можно задавать,как
будто они объявлены внутри Point.
Хотя к полям рассматриваемых объектов имеется непосредст-
венный доступ,поступать так,значит иметь потенциальную воз-
можность их порчи в непредсказуемые моменты времени со все-
ми вытекающими отсюда последствиями.Основополагающая идея
объектно-ориентированного программирования состоит в том,
чтобы использовать для этих целей только специальные функции,
включаемые в определение структуры и называемые методами объ-
екта,а поля объекта защищать от воздействия каких-либо других
функций или операций.
1.3.Инкапсуляция данных и функций доступа к ним
Сначала рассмотрим,каким образом встроить в структуру функ-
цию инициализации ее полей.При этом заметим,что использование
10
Point VarPoint={0,0,true};/*-переменная с инициализацией; */ Point& RefPoint=VarPoint; /*-ссылка на Point; */ Point* PtrPoint=new Point;/*-указатель на Point; */ tipedef struct Point* PointPtr;/*-производный от Point тип*/ PointPtr DynPoint;/*-требуется использование операторов */ /* new для размещения и delete для уда- */ /* ления структуры Point; */ Доступ к полям данных объектов производится обычным спосо- бом: cout<<"\n"<<"x="<Visible="< Visible= RefPoint.Visible; Следует особо подчеркнуть,что унаследованные поля доступны так же, как и поля,объявленные внутри данного типа объекта.На- пример,хотя х и у не являются частью объявления Point,но на- следуются из типа Location,и поэтому их можно задавать,как будто они объявлены внутри Point. Хотя к полям рассматриваемых объектов имеется непосредст- венный доступ,поступать так,значит иметь потенциальную воз- можность их порчи в непредсказуемые моменты времени со все- ми вытекающими отсюда последствиями.Основополагающая идея объектно-ориентированного программирования состоит в том, чтобы использовать для этих целей только специальные функции, включаемые в определение структуры и называемые методами объ- екта,а поля объекта защищать от воздействия каких-либо других функций или операций. 1.3.Инкапсуляция данных и функций доступа к ним Сначала рассмотрим,каким образом встроить в структуру функ- цию инициализации ее полей.При этом заметим,что использование 10
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »