封裝:就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或物件操作,對不可信的進行資訊隱藏。乙個類就是乙個封裝了資料以及操作這些資料的**的邏輯實體。在乙個物件內部,某些**或某些資料可以是私有的,不能被外界訪問。通過這種方式,物件內部資料提供了不同級別的保護,以防止程式中無關的部分意外的改變或錯誤的使用了物件的私有部分。
繼承:指可以讓某個型別的物件獲得另乙個型別的物件的屬性的方法。它支援按級分類的概念,它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。通過繼承建立的新類稱為「子類」或「派生類」,被繼承的類稱為「基類」、「父類」或「超類」。繼承的實現過程,就是從一般到特殊的過程。要實現繼承,可以通過「繼承」和「組合」來實現。整合概念的實現方式有二類:實現繼承與介面繼承。
實現繼承:是指直接使用基類的屬性和方法而無需額外編碼的能力;
介面繼承:是指僅使用屬性和方法的名稱、但是子類必須提供實現的能力。
多型:是指乙個類例項的相同方法在不同情況下有不同表現形式。多型機制使具有不同內部結構的物件可以共享相同的外部介面。這意味著,雖然針對不同物件的具體操作不同,但通過乙個公共的類,它們(那些操作)可以通過相同的方式予以呼叫。
值型別:byte,short,int,long,float,double,decimal,char,bool 和 struct 統稱為值型別。值型別變數宣告後,不管是否已經賦值,編譯器為其分配記憶體。
引用型別:string 和 class統稱為引用型別。當宣告乙個類時,只在棧中分配一小片記憶體用於容納乙個位址,而此時並沒有為其分配堆上的記憶體空間。當使用 new 建立乙個類的例項時,分配堆上的空間,並把堆上空間的位址儲存到棧上分配的小片空間中。
c#的值型別包括:結構體(數值型別、bool型、使用者定義的結構體),列舉,可空型別。
c#的引用型別包括:陣列,使用者定義的類、介面、委託,object,字串。
棧:棧區為系統自動分配的記憶體空間,使用完後空間將自動被釋放
堆:堆區用於分配程式設計師申請的記憶體空間,使用完成後需程式設計師自行釋放空間
static:用於修飾資料空間可以確定的方法,**中不能有可變資料結構,如陣列,遞迴或巢狀結構的出現。static關鍵字最基本的用法是:
1、被static修飾的變數屬於類變數,可以通過類名.變數名直接引用,而不需要new出乙個類來
2、被static修飾的方法屬於類方法,可以通過類名.方法名直接引用,而不需要new出乙個類來
類變數也叫靜態變數,也就是在變數前加了static的變數;
例項變數也叫物件變數,即沒加static的變數;
區別在於:類變數和例項變數的區別在於:類變數是所有物件共有,其中乙個物件將它值改變,其他物件得到的就是改變後的結果;而例項變數則屬物件私有,某乙個物件將其值改變,不影響其他物件
#靜態資源是類初始化的時候載入的,而非靜態資源是類new的時候載入的,這也是為什麼靜態方法能不能引用非靜態資源
建構函式:必須與母函式名相同,函式名需大寫,建構函式沒有返回型別,它可以帶引數,也可以不帶引數,宣告類物件時,系統自動呼叫建構函式,建構函式不能被顯式呼叫,可以被過載,若在宣告時未定義建構函式,系統會自動生成預設的建構函式,此時建構函式的函式體為空。
作用:如果打算為建構函式內的某個值賦值,當然在呼叫時對母函式內的賦值也是沒有任何問題的,但這時函式賦值的工作交給了程式的使用者顯然這是不合適的,應該在建構函式內進行賦值工作,而非把這個事情交給不確定的外部使用者完成。
#不要出現使用乙個構造函式呼叫另外乙個建構函式,這樣會出現不確定性。
#建構函式可以是帶引數的
析構函式:在母函式內部以「~」+母函式名來命名,它不返回值,也不帶任何引數。析構函式用於在結束程式(比如關閉檔案、釋放記憶體等)之前釋放資源。析構函式不能繼承或過載
網路程式設計(自用)
埠 應用程式用於資料互動的通道,用於實現程式間通訊,每個應用程式都有固定的埠號。常見埠 協議 埠號 telnet協議 tel 23 簡單郵件傳輸協議 smtp 25 檔案傳輸協議 ftp 21 超文字傳輸協議 http 30 tcp協議 比較可靠的雙向流協議 三次握手 提供訊息確認,錯誤檢測和錯誤恢...
自用 c,c ,C 程式設計經驗累積
c inline 為了解決小函式大量呼叫問題,將呼叫語句直接變成小函式體內容,不再進行函式呼叫。vs可以使用監視斷點,when hit 從而不用改變程式而列印值。c 中使用descript c 中可以在功能類裡面定義乙個action 名稱 並在視窗類中寫乙個同樣名稱的方法來實現功能類更新視窗。使用時...
網路程式設計(自用小結筆記)
一 實現網路通訊需要解決的兩個問題 二 網路通訊的兩個要素 三 通訊要素一 ip和埠號 1.ip的理解 四 通訊要素二 網路通訊協議 1.分類模型 2.tcp 和udp的區別 3.tcp三次握手和四次揮手 示例1 客戶端傳送資訊給服務端,服務端將資料顯示在控制台上 客戶端 test public v...