用行為將物件歸類

2021-08-13 21:51:47 字數 530 閱讀 3943

用行為將物件歸類

黃國強 2017/12/19

學習c++從封裝開始。那麼封裝什麼呢?當然是封裝資料還有操作這些資料的函式。由於經常封裝資料,很多開發者會預設建立這個觀念,即:封裝就是封裝資料。事實上這個觀念是錯誤的。

舉乙個地鐵閘機的例子。

閘機有兩種狀態,可以通過和不可以通過。有兩種設計方案。

設計方案1:

class cgate

;

設計方案2:

class cgate

;class cgatepass : public cgate

;class cgatenopass : public cgate

;

上述兩個方案中,方案2是更能體現物件導向的思想,而且,方案2中的三個類中都沒有資料成員,三個類封裝的是行為。

還有一種情形,就是幾個類的資料成員完全一致,但是行為完全不同,這種情況也是體現封裝行為的思想。

將物件轉成byte

public kcdataformatter 將dataset格式化成位元組陣列byte dataset物件 位元組陣列 public static byte getbinaryformatdata dataset dsoriginal 將dataset格式化成位元組陣列byte,並且已經經過壓縮 ...

利用XMLSerializer將物件序列化到XML

微軟已經意識到序列化資料的重要性,因此在.net框架中包含了命名空間system.runtime.serialization和system.xml.serialization以提供序列化功能,為使用者自己編寫序列化方法提供了乙個框架。system.xml.serialization命名空間提供了將乙...

將物件轉化為DataTable

imports system.collections.generic imports system.reflection public class tablebuilder of t private selectinfos as list of propertyinfo private propin...