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

UptoLike

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

которых это достигается,механизмом наследования.Наследник
называется порожденным типом;тип,от которого наследует порож-
денный тип,называется родительским,или базовым типом.
В нашем примере два типа объектов следует теперь опреде-
лить следующем образом:
struct Location /*-позиция: */
{ int x,y; /*-координаты точки экрана; */
};/*-конец определения позиции; */
typedef enum{false,true} Boolean;/*-булевский тип; */
struct Point:/-точка на экране в графическом режиме; */
Location /*-позиция; */
{ Boolean Visible;/*-видимость точки на экране; */
};/*-конец определения точки на экране; */
Здесь двоеточие используется для указания наследования.При
этом Location является родительским,или базовым типом,а
Point - порожденным,или производным типом.Рассмотренный про-
цесс может продолжаться бесконечно:можно задать наследников
типа Point,наследников типа,порожденного от Point и т.д.Сле-
дует отметить,что большая часть применений объектно-ориенти-
рованного программирования состоит в построении этой иерар-
хии объектов,выражающей семейное дерево объектов.
Все типы,порожденные от Location,называются Location-по-
рожденными типами,а тип Point - один из непосредственных на-
следников Location.В свою очередь,Location - непосредственный
родитель для Point.Любой тип может иметь любое число непос-
редственных наследников,но только одного непосредственного
предка,если не используется множественное наследование.При
множественном наследовании производный тип имеет несколько
базовых типов,имена которых задаются в его определении с по-
мощью списка.Конечно,корневой тип не имеет предка.
Производный тип Point используется в языке С++ так же,как и
любой другой тип:
9
которых это достигается,механизмом наследования.Наследник
называется порожденным типом;тип,от которого наследует порож-
денный тип,называется родительским,или базовым типом.
 В нашем примере два типа объектов следует теперь опреде-
лить следующем образом:


  struct Location /*-позиция:                                 */
         { int x,y; /*-координаты точки экрана;               */
         };/*-конец определения позиции;                      */


  typedef enum{false,true} Boolean;/*-булевский тип;          */


  struct Point:/-точка на экране в графическом режиме;        */
               Location /*-позиция;                           */
         { Boolean Visible;/*-видимость точки на экране;       */
         };/*-конец определения точки на экране;               */


  Здесь двоеточие используется для указания наследования.При
этом Location является родительским,или базовым типом,а
Point - порожденным,или производным типом.Рассмотренный про-
цесс может продолжаться бесконечно:можно задать наследников
типа Point,наследников типа,порожденного от Point и т.д.Сле-
дует отметить,что большая часть применений объектно-ориенти-
рованного программирования состоит в построении этой иерар-
хии объектов,выражающей семейное дерево объектов.
  Все типы,порожденные от Location,называются Location-по-
рожденными типами,а тип Point - один из непосредственных на-
следников Location.В свою очередь,Location - непосредственный
родитель для Point.Любой тип может иметь любое число непос-
редственных наследников,но только одного непосредственного
предка,если не используется множественное наследование.При
множественном наследовании производный тип имеет несколько
базовых типов,имена которых задаются в его определении с по-
мощью списка.Конечно,корневой тип не имеет предка.
  Производный тип Point используется в языке С++ так же,как и
любой другой тип:


                                9