C#forUnity快速入門(連載4)-C#面向對象OOP編程

C# for Unity 編程語言快速入門教程(連載4)---C#面向對象OOP編程 


  C#的OOP(面向對象)編程是C#編程語言中最爲精華的部分,如果沒有學習C#的OOP部分,則可以認爲就沒有學習過C#。

  C#語言是2001年,微軟推出".Net戰略"時,專門訂製的一門編程語言,其基本的思想就是仿照JAVA語言的虛擬機原理,開發出“受託管”的中間語言。(即:C#編譯後不是直接生成二進制EXE目標代碼,而是先生成中間語言(IL),再根據不同的操作系統,最終解釋生成爲目標代碼)。其最大的好處就是實現“跨平臺性”,推出幾年後隨着功能與性能的不斷完善,很快就成爲了全世界最受歡迎的編程語言之一。


  現在爲了讓C#的初學者更快的瞭解OOP的技術概況,現就列出C#OOP編程的基本列表:


1:面向對象的概念:什麼是類、對象。以及類與對象的關係。
   面向對象三大特徵: 封裝/繼承/多臺

2:封裝性:
   用訪問修飾符來體現封裝性。
   Public  公共的/ private 私有的/Protected 受保護的/Internal 本程序集的

3:構造函數。
  功能:是維護一個類的完整性。可以通過類的構造函數,使得一個類構造出不同(型號/類別)的對象實體。
 特徵:  1)構造函數名稱與類名相同。
             2)構造函數沒有返回數值,也不加void 關鍵字。
            3)構造函數不需要調用,可以直接運行。

4:方法的定義。
  方法的構成:4部分
  1)    方法的名稱。
  2)    方法的參數列表
  3)    方法的返回類型,如果沒有返回數值,要加“void” 關鍵字。
  4)    方法體(方法的內容)

5:學習static 關鍵字。
  特點:
    5.1: 用static 修飾的方法,叫靜態方法。
    5.2: 在實例方法中,調用靜態方法,需要使用類名稱調用。
                   在靜態方法中,調用靜態方法,可以直接調用。
                   用途: 是簡化編寫,爲了更容易被訪問。

6:繼承的概念。
   繼承使用符號“:”來表示繼承。

7:在繼承關係下,構造函數的規則。
   規則: 實例化子類,系統先自動調用父類的構造函數,然後調用子類構造函數。

8:學習關鍵字。
   base, this.
   Base: 代表父類對象。
   This: 代表本類對象。
   適用範圍:
       在子類與父類發生“方法覆蓋”時候,爲了能夠調用被覆蓋(或者“隱藏”)的方法,必須使用base .

9:base 關鍵字在構造函數中的應用,即:顯示調用父類構造函數。

10:析構函數。
     定義“~”定義析構函數。 作用是在本對象需要銷燬之前,做一些清理工作。
     比如在需要進行數據庫連接,Socket 數據通信的時候,需要關閉對應的連接等。

11:命名空間。
     使用關鍵字: NameSpace 定義。
     目的是:爲了一個項目中,可以使用重名的類。(相當於是操作系統中的“虛擬目錄”的概念)。

12:訪問修飾符:
    Public:   最大訪問級別。
    Internal:   局部的。 在一個“程序集”中,都可以訪問。
    Protected: 受保護的類型。 除了自己能夠訪問,本類的子類也可以訪問。(“繼承鏈”)
    Private :  只能自己訪問。

13:學習面向對象中的“多態性”的概念。

14:多態性—方法重載。(靜態多態性)
     同一個類中,有多個方法名相同,但是方法的參數不同,這種現象叫~。
     多態性-方法的重寫(動態多態性)
     在繼承關係的類中,父類中定義了“虛方法”(關鍵字:Virtual), 子類使用關鍵字override 進行方法重寫。這種機制叫~。
     方法重寫的目的: 就是可以不斷優化代碼的一種機制。

15:學習Sealed 關鍵字。
     密封關鍵字。
     類/ 方法。

16:抽象類/抽象方法。
    關鍵字: Abstract
    規則1: 一個抽象方法,必須存在於抽象類中。但是一個抽象類可以沒有抽象方法。
    規則2: 一個類繼承抽象類,則必須“重寫”抽象父類中的抽象方法。

17:接口/多重接口。
    關鍵字: Interface
   接口是與“類”相同的編程單位,相互之間不“隸屬”。
    規則1: 接口中只能定義抽象方法,不能有public , abstract 關鍵字。
    規則2: 接口可以多種繼承。
    規則3: 一個類繼承接口,則必須“實現”接口中所有的方法。

18:值類型與引用類型。
    值類型在方法傳遞的時候,是傳遞的自身的“拷貝”。
    引用類型在方法傳遞的時候,是傳遞的自身的“地址”。
    常用值類型與引用類型轉換的關鍵字如下:
    Ref / out 關鍵字。
    Ref 關鍵字可以把值類型轉變爲引用類型。
    Out 關鍵字目的是可以讓方法有多個輸出參數。

19:屬性。
    規則1: 屬性是方法的簡化,目的是控制類的“字段”的可訪問性。

20:動態多態性。
    目的是爲了更好的開發出靈活,功能強大的程序。
    可以使用“虛函數”,“抽象方法”,“接口”來實現動態多態性。
    建議使用“接口”來實現動態多態性,即:面向接口編程。

21:面向接口編程。
    接口最好功能單一。
    接口可以通過繼承關係實現功能強大的複合接口。


   以上21個知識點,基本概括了C#面向對象編程的基本概念,後面筆者會就一些重要的OOP概念進行重點講解與總結。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章