<P>類(lèi)的派生(<FONT color=#0000ff>繼承</FONT>)是面向?qū)ο蟪绦蛟O(shè)計(jì)方法和c++語(yǔ)言最重要的特征之一。</P>
z/ D) w$ T4 g2 T; \# n<P><FONT color=#0000ff>繼承</FONT>常用來(lái)表示類(lèi)屬關(guān)系,不能將<FONT color=#0000ff>繼承</FONT>理解為構(gòu)成關(guān)系,怎么說(shuō)呢? 比如我們假設(shè)昆蟲(chóng)是一個(gè)類(lèi),而蝴蝶也是一個(gè)類(lèi),這兩個(gè)類(lèi)是派生(<FONT color=#0000ff>繼承</FONT>)的關(guān)系,基類(lèi)是昆蟲(chóng),派生類(lèi)是蝴蝶,這是一個(gè)類(lèi)屬的關(guān)系,蝴蝶類(lèi)是屬于昆蟲(chóng)類(lèi)的,但不能理解為構(gòu)成關(guān)系,蝴蝶這個(gè)類(lèi)不是昆蟲(chóng)這個(gè)類(lèi)中的成員(六足雙翅等)的簡(jiǎn)單包括,它還有其他一些獨(dú)特的成員,而原來(lái)的成員也被重新定義(比如觸角,蝴蝶類(lèi)的觸角是須狀的),這些都表明蝴蝶類(lèi)是昆蟲(chóng)類(lèi)的一個(gè)分支而不是構(gòu)成關(guān)系。</P>7 |" f3 c* Z$ h7 y: c! n6 D0 P @2 e% w
<P>從上面的例子來(lái)理解,從現(xiàn)存類(lèi)中派生出新類(lèi)時(shí),可以對(duì)派生類(lèi)做如下幾種變化:</P>1 Y- d8 ^( j9 u# w! {7 ]5 L1 o
<P><FONT color=#ff0000>1.可以增加新的成員變量;</FONT></P>- e0 `2 [$ K4 e* U
<P><FONT color=#ff0000>2.可以增加新的成員函數(shù);</FONT></P>
3 L" G+ z' ]1 m8 g# v& x<P><FONT color=#ff0000>3.可以重新定義已有的成員函數(shù);</FONT></P>
) r# ~" E1 q/ `' T& \<P><FONT color=#ff0000>4.可以改變現(xiàn)有成員的屬性(訪問(wèn)權(quán)限)。</FONT></P>
$ c+ K7 q) e' {- \0 u+ I! M6 J<P>以上允許派生類(lèi)所作的變化是很廣泛的,由此我們可以用派生類(lèi)對(duì)其從父類(lèi)繼承來(lái)的的性質(zhì)進(jìn)行<FONT color=#ff0000>限制或刪除</FONT>(這就是<FONT color=#0000ff>性質(zhì)約束</FONT>),也可以對(duì)父類(lèi)的性質(zhì)進(jìn)行<FONT color=#ff0000>增加</FONT>(這就是<FONT color=#0000ff>性質(zhì)擴(kuò)展</FONT>)。</P> |