Quantcast
Channel: The Will Will Web - 物件導向基礎:何謂類別(Class)?何謂物件(Object)?
Viewing all articles
Browse latest Browse all 50

chicken on 物件導向基礎:何謂類別(Class)?何謂物件(Object)?

$
0
0
雖然沒獎品 Tong 不過平常都沒什麼人可以跟我討論這類問題,手癢來回答看看... 1.請問「類別」可不可以包含「物件」? 可以。static field 放的物件就算吧 2.請問「物件」可不可以包含「類別」? System.Type 這種東西有點難介定,這 class 的 instance 是個物件,但是配合 reflection 卻又可以做到很多 class 才做的到的事... 就是 OO 裡提到的 meta class. 如果在物件理 包含一個 System.Type 型態的物件,可以把它視為 "包含類別" 吧 3.請問「類別」可不可以包含「類別」? 同 (2) 是一例。 另一例是 inner class, 應該都算吧 4.請問「物件」可不可以包含「物件」? 最普遍的就這種吧,field 是另一個物件就是了 5.請問「物件」可不可以當成資料傳遞? 可 6.請問「類別」可不可以當成資料傳遞? 可 7.在 .NET 的世界,請問「物件」可以用什麼型態存在或用什麼格式傳遞?(可任意回答一種以上) 內建那幾個 serialization 的都算,不多講了 8.在 .NET 的世界,請問「類別」可以用什麼型態存在或用什麼格式傳遞?(可任意回答一種以上) 類別傳遞,實際的意義就是讓遠端能得到實際的 assembly ... 最常件的例子就是 class loader 去下載 assembly 就是一例,格式就是 .dll ( MSIL ) 9.在 .NET 的世界,程式在執行的時候,「類別」可不可以被動態修改? 都可以動態載入 assembly, 都可以動態編譯 (CodeDom), 技術上來說是可以的 10.如果有兩台主機要互相傳遞資料,他們傳遞的是「類別」還是「物件」? 資料一般都是以物件為主。不過上面都講到類別也可以傳了... 類別也會有吧。 不過嚴格的說,傳遞的只是資料而已,不是物件也不是類別。資料要被怎麼解釋,應該是要看傳送 跟接收兩端對這些資料的解釋.. 11.請問「物件」是否包含「方法(Method)」? OO 的理論裡,method 應該是定義在 class 內的。不過 .NET 裡的 delegate 又把它模糊了... 如果 delegate 也視為 method, 物件是可以包含 method 的 12.如果「物件」從 A 電腦傳遞到 B 電腦時,若該物件要執行「方法」還需不需要有「類別」存在? 物件不能直接被傳遞啦,能傳的只有資料。物件能傳遞的前題是: 物件 -> 序列化成資料 -> 傳資料 -> 反序列化成物件 -> 物件 另一端要能反序列化,就需要有類別了。

Viewing all articles
Browse latest Browse all 50

Trending Articles