ВУЗ:
Составители:
Рубрика:
которых это достигается,механизмом наследования.Наследник
называется порожденным типом;тип,от которого наследует порож-
денный тип,называется родительским,или базовым типом.
В нашем примере два типа объектов следует теперь опреде-
лить следующем образом:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 7
- 8
- 9
- 10
- 11
- …
- следующая ›
- последняя »