看板
[ OOAD ]
討論串[問題] 關於物件導向觀念的問題
共 5 篇文章
內容預覽:
一個子類別C裡定義了一個跟父類別S裡名稱一樣的function f(). 此時有一個物件o定義如下:. C o=new C();. S p=o;. 此時p.f()和o.f()指的是同一個function,這種觀念稱為?. A、Encapsulation. B、Overloading. C、Inher
(還有90個字)
內容預覽:
我來猜一下好了. 1. 父類別f function有加virtual, 且在子類別中定義的f參數也跟父類別中的依樣. 此時答案應該是polymorphism. 2. 那不管在父類別中有沒有加virtual, 在子類別中f的定義, 參數並沒有跟父類別一樣. 也就是說, 在父類別中的定義跟子類別中的定義
(還有60個字)
內容預覽:
function hiding 在不同的程式語言會有不同的定義. 所以此種效應並非物件導向共通的現象。. 回到原題:. C 類別繼承自 S 類別. C 類別的 f() 成員方法乃繼承自 S 類別的 f() 成員方法. 今天有一個物件叫作 o, 它的實體是由 C 類別不帶參數的建構子產生的. 所以應該
(還有75個字)
內容預覽:
只是路過看到,我想或許題目的意思是:. S 是一個有完整定義的class. C 繼承 S , 並且override f. 至於那段程式碼,指的只是類似下面這段code中,o和a的關係@@;;;;. (但是我想原來這段code應該是Java,. 因為那個assign用c++可以做的骯髒事太多了XD).
(還有386個字)
內容預覽:
原本的 code 沒有 assignment,. 那個 = 叫做 initializer,. 在 C++ 中也是單參數 constructor 的另一種寫法。. 你可以把那段 code 想成虛擬碼,. 而通常泛 OO 用的虛擬碼裡,. 習慣上預設所有 method 都是 dynamic bindin
(還有546個字)