> 3.整數陣列是一種整數與陣列...... X
> 應該說是 整數陣列 是一種陣列
> 且 整數陣列 是一個 Items 為 整數的陣列
> that is all ....
--
[1;33m※ Origin: [36m奇摩 大摩域 [37m<telnet://bbs.kimo.com.tw> [m
[1;35m◆ From: [1;32m163.32.115.61 [m
> > 整數陣列是整數和陣列的多重繼承嗎 ??
> > 也不是 ?!
^^^^^^^ 這裡也是說錯的呀 !!
> > 那是什麼原因呢 ??
> > 大家來提出一些看法吧 !!
我想...原作是要讓大家討論一下一些繼承的狀況吧 ?
有時候,繼承和使用...會讓人搞不清的!
> 我想,你誤解了繼承的意思了吧....
> 所謂的繼承,是指將具有相同特性的物件加以衍生與延長
> 其精隨就在於 :
> B is a kind of A ,則 B 可以繼承 A
> 你所提的例子
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: win95-17.cis.scu.edu.tw
恩...的確如此
有時繼承的使用,並不遵守現實上的觀念
例如:
圓是一種橢圓
所以繼承時,應該要先寫一個橢圓
然後寫一個圓去繼承橢圓
現實中是如此
但實際寫程式時
我們並不這麼做....
因為 圓 只要有
1.圓心
2.半徑
而橢圓要
1.圓心
2.寬
3.高
所以 橢圓 比 圓 多了一個 data member
故我們會寫成
橢圓繼承了圓
這雖然是個比較特殊的例子
但也在 繼承 中常常見到
PS.之前的 DeathVader 就是我啦....
--
[1;32m※ Origin: [33m元智大學 風之塔 [37m<bbs.yzu.edu.tw> [m
[1;32m※ From : [36mip-lab-10.cse.yzu.edu.tw [m
>有時繼承的使用,並不遵守現實上的觀念
>
>例如:
>圓是一種橢圓
>
>所以繼承時,應該要先寫一個橢圓
>然後寫一個圓去繼承橢圓
這種繼承的方式有可能會違反 Liskov-Substitution Principle
>所以 橢圓 比 圓 多了一個 data member
>故我們會寫成
>
>橢圓繼承了圓
這種方式只是為了繼承圓的 implementation 更是錯誤示範.
既然橢圓不是圓就不該繼承圓.
在這個情形下最好圓跟橢圓不要互相繼承, 但可以讓兩者
有一個共同繼承的 base class.
四眼的王蟲
--
摩西帶領大家離開埃及
約書亞帶領大家進入那應許之地
> 這種繼承的方式有可能會違反 Liskov-Substitution Principle
> >所以 橢圓 比 圓 多了一個 data member
> >故我們會寫成
> >橢圓繼承了圓
> 這種方式只是為了繼承圓的 implementation 更是錯誤示範.
> 既然橢圓不是圓就不該繼承圓.
> 在這個情形下最好圓跟橢圓不要互相繼承, 但可以讓兩者
> 有一個共同繼承的 base class.
恩...王蟲兄所言甚是
當初上 侯 Sir 開的課時, 就覺得他舉這個例子怪怪ㄉ
但一直找不到什麼說法來解釋
現在總算一語道破了說
也就是說
繼承樹就會變成
Shape
|
-------------------
| |
Basic Rect Basic Ellipse
| |
-------------- ----------------
| | | |
Rect Square Circle Ellipse
恩恩恩恩.....
可是這樣會不會增加管理的複雜度啊....
--
[1;32m※ Origin: [33m元智大學 風之塔 [37m<bbs.yzu.edu.tw> [m
[1;32m※ From : [36mip-lab-9.cse.yzu.edu.tw [m
現實的生活中是由物件去分類,而 progrmaming 是無中生有的 !!
: 然後寫一個圓去繼承橢圓
: 現實中是如此
: 但實際寫程式時
: 我們並不這麼做....
: 因為 圓 只要有
: 1.圓心
: 2.半徑
: 而橢圓要
: 1.圓心
: 2.寬
: 3.高
: 所以 橢圓 比 圓 多了一個 data member
: 故我們會寫成
: 橢圓繼承了圓
: 這雖然是個比較特殊的例子
: 但也在 繼承 中常常見到
這個例子舉的很棒 !!
在 programming 時都是由最基礎開始設計,由基礎來衍生出更
進一步的型態,但也常因為如此,會將使用和繼承給搞混了 !!
--
[1;34m孤身流浪到 Taipei 的東吳資科轉學生... [0m
[1;5;33mGene [0m
--
※ Origin: 程式設計樂園 ◆ From: pc014.r2206.scu.edu.tw