雖然沒獎品 ![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 電腦時,若該物件要執行「方法」還需不需要有「類別」存在?
物件不能直接被傳遞啦,能傳的只有資料。物件能傳遞的前題是: 物件 -> 序列化成資料 -> 傳資料 -> 反序列化成物件 -> 物件
另一端要能反序列化,就需要有類別了。

不過平常都沒什麼人可以跟我討論這類問題,手癢來回答看看...
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 電腦時,若該物件要執行「方法」還需不需要有「類別」存在?
物件不能直接被傳遞啦,能傳的只有資料。物件能傳遞的前題是: 物件 -> 序列化成資料 -> 傳資料 -> 反序列化成物件 -> 物件
另一端要能反序列化,就需要有類別了。