介面與抽象類
這兩個傢伙是被人們說的最多的東西了,在概念上我不想再多說了,我只是想把它們倆個在專案的應用上簡單來說兩句.
介面,規定了一些必須被實現的行為,即只要是繼承了介面,那麼介面裡的所有方法你都要繼承,當然,如果有些方法對於你沒有任何實現的價值,你也可以不去實現它,你拋乙個這樣的異常出來:
///
/// 人類的行為
///
publicinte***ce peopleevent
publicclass childevent : peopleevent
publicvoid say()
publicvoid handle()
#endregion
}
再來看看抽象類,它在專案開發時經常用來作物件的基類,本身有公用的屬性和方法,也為子類提供了可以複寫的方法,看**:
///
/// 人類基類
///
publicabstract
class peoplebase
}
///
/// 建立乙個虛方法,子類可以根據自己的邏輯去複寫它[為什麼要定義成public而不定義成protect呢
/// 因為它的子類進行複寫後這個方法將被其它專案進行呼叫,所以要用public]
///
publicvirtual
void displaydes()
}
publicclass child : peoplebase
}
小技巧:
#region 乙個字串用*號分割後,然把*號改為用,號分割的實現方法
string str = "ok*good*yes";
string strarr = str.split(newchar , stringsplitoptions.removeemptyentries);
string str2 = string.join(",", strarr);
console.writeline(str2);
#endregion
說說物件導向的故事,主人是人類 三
今天的主角是ref和out這兩個引數 ref和out它們是方法中的引數修飾符,有什麼作用呢,其實可以這樣理解,它們加上引數後會使用位址進行傳遞,說的明白點就是當定義變數a後,把它再作為ref或out引數進行傳遞到子方法,然後它的計算結果還會返回到這個變數之中.region ref and out r...
說說物件導向中的設計原則
srp 單一職責原則,就是說乙個類只提供一種功能和權有乙個引起它變化的因素.ocp 開放封閉原則就是對乙個類來說,對它的修改是封閉的,對它的擴充套件是開放的.dip ioc 依賴倒置原則 程式依賴於抽象,而不依賴於實現,它的主要目的是為了降低 耦合性,它一般通過反射和配置檔案來實現的.lsp 替換原...
什麼是物件導向 個人對物件導向的理解
物件導向是一種程式設計思想.物件導向最主要體現在它的特徵上.物件導向的三大特徵是 封裝,繼承,多型.封裝 將事物 物件 的屬性和行為抽象出來,形成乙個類.隱藏了內部的屬性,使外界通過給定的介面訪問和操作屬性,保證了資料的安全性.外部通過物件呼叫行為,隱藏具體的實現細節,解耦合.繼承 將具有共同特性和...