這個網誌,也空了一段時間
因為之前為了準備考試,再加上工作的忙碌
回到家就幾乎不想再碰電腦(懶的打字 ^^")
只是,這樣並不是很好的習慣
有些事情真的要當下記錄下來。。。
看著之前所寫的紀錄,雖然有很多地方有誤
但這些紀錄讓我明瞭,曾經做了哪些事情
至少再走過同一段路時,可以提醒自己曾經做了哪些抉擇。
廢話少說。。紀錄一點心得
-----分隔線------
最近在撰寫程式的時候,開始漸漸使用Interface來設計物件
假設,我今天要設計Message Class(有許多類型)
遇到的一個小問題是:
今天若有多個不同種類的Message Class,
當然Member也一定會有所不同,我如何確保這些Message
維持在同一個規範下?
我想到的解決方法如下:
1.建立一個抽象類別當作是Message的基底類別。
你可以選擇實作成員,或是建立抽象成員
當繼承這個抽象類別時,也須遵守實作抽象成員。
例如:
建立抽象類別(MsgBase),
Message1繼承這個抽象類別並實作抽象成員
1: public abstract class MsgBase
2: {
3: public abstract string Name
4: {
5: get;
6: set;
7: }
8:
9: public string GetMessage()
10: {
11: return "My Message!";
12: }
13: }
1: public class Message1:MsgBase
2: {
3: private string NameField;
4: public override string Name
5: {
6: get
7: {
8: return NameField;
9: }
10: set
11: {
12: NameField=value;
13: }
14: }
15: }
Message1這個Class則有(Name、GetMessage)這兩個成員,
藉由繼承的概念來規範。
2.利用Interface來規範。
當繼承Interface時,必須要實作Interface的成員
這樣也同樣可以規範出這個Class的框架。
而Interface的好處,則可以藉由操作Interface
來達到目的。
例如:
今天我得到一個Object,我不確定他是哪種Class
但我知道這個Object繼承了我所得知的Interface
可以藉由操作Interface的方式,同樣也可以達到效果。
1: ISerialize mySerialize=o as ISerialize
2: mySerialize.Serialize();
我亂寫到這,其實學習設計物件
經驗還不足,不過慢慢懂得一點點
沒有留言:
張貼留言