1. 訪問修飾符
2. 設計模式(23種設計模式)
《設計模式:可復用物件導向軟體的基礎》
設計這個專案的一種方式
簡單工廠設計模式
簡單工廠最核心的部分 模擬工廠
用乙個方法來模擬工廠生產筆記本的過程
這個工廠最終要製造出(返回)乙個筆記本的父類
根據使用者輸入的品牌來建立筆記本物件
返回乙個父類,但父類中裝的是子類物件
之後再使用多型,可以遮蔽子類之間的差異性
3. 值型別和引用型別
值型別:int double char decimal bool enum struct
引用型別:string 陣列 自定義類 集合 object 介面
值傳遞和引用傳遞
值型別在複製的時候,複製的是這個值本身
引用型別在複製的時候,複製的是這個值的引用
加了ref後 將值傳遞 改變成 引用傳遞
字串的不變特性
4. 序列化:將物件轉化為二進位制
反序列化:將二進位制轉化為物件
作用:傳輸資料
1)將這個類標記為可序列化 [serializable]
2)使用binaryformatter類 bf.serialize bf.deserialize
5. 部分類
public partial class person
6. 密封類
public sealed class person
密封類不能被繼承 但可以繼承別的類
7. 重寫父類的tostring() equals(object obj) gethashcode()
這三個函式都是object類的虛方法
8. 介面就是乙個規範、能力
[public] inte***ce 介面名i...able
iflyable fly = new 繼承介面的子類
這樣同樣一條語句 fly.成員 就可以遮蔽不同子類物件的差異了
9. 介面的特點
1)介面不能進行例項化(其他不能例項化的有抽象類,靜態類)
2)介面中的成員不允許新增訪問修飾符,預設就是public
3)介面中的成員不能有任何實現(「光說不做」,只是定義了一組未實現的方法)
不允許寫有方法體的函式
4)介面的成員中可以包含自動屬性,方法和索引器(這三種本質都是方法)
介面不能包含字段(因為欄位是用來儲存資料的,介面不儲存資料),也沒有建構函式
5)介面與介面可以繼承,並且可以多繼承
6)介面並不能去繼承乙個類,而類可以繼承介面
介面只能繼承於介面,而類既可以繼承介面,也可以繼承類
7)實現介面的子類必須實現該介面的全部成員
8)乙個類可以同時繼承乙個類並實現多個介面,如果乙個子類同時繼承了父類a,並實現了介面ia
那麼語法上a必須寫在ia的前面
9)顯式實現介面的目的:解決方法的重名問題
什麼時候顯式地去實現介面:當繼承的介面中的方法和類本身所具有的方法同名且同引數的時候,
需要顯式的實現介面
如:void fly() --類本身所具有的方法
void iflyable.fly(){}--介面具有的方法
10)當乙個抽象類實現介面的時候,需要子類去實現介面
10總結
什麼時候用虛方法來實現多型?
父類中的方法有預設的實現,並且父類需要被例項化,這時可以考慮將父類定義成乙個普通類,用虛方法
什麼時候用抽象類來實現多型?
如果父類中沒有預設實現,父類也不需要被例項化,則可以將該類定義為抽象類
什麼時候用介面來實現多型?
這幾個類中根本找不出來父類,但它們都有乙個共同的能力,這個時候用介面
11 guid
能幫助我們產生獨一無二的編號
guid.newguid().tostring()
erlang第五天總結
1.程序裡的變數是私有的,erlang shell本身是乙個程序,所以當開啟多個erlang shell執行gen tcp conncet返回的socket是相同,而在每乙個erlang shell裡面多次呼叫gen tcp connect返回的socket是不同 2.gen tcp recv會阻塞...
C 學習第五天
c 中的is和as is可用於任何型別。例如 int a 10 a is object true object o 10 o is int true o person o is int false as右側型別必須為引用型別或可空型別。as操作如果失敗,不丟擲異常,而是返回null 結構 struc...
C語言第五天
c中陣列詳解 從函式返回陣列 小結c指向陣列的指標 節點陣列的初始化 指標與陣列名的區別 c enum 列舉 c語言支援陣列資料結構,它可以儲存乙個固定大小的相同型別元素的順序集合。陣列是用來儲存一系列資料,但它往往被認為是一系列相同型別的變數。陣列的宣告並不是宣告乙個個單獨的變數,比如num0 n...