溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#forUnity快速入門(連載4)-C#面向?qū)ο驩OP編程

發(fā)布時(shí)間:2020-06-19 21:10:17 來源:網(wǎng)絡(luò) 閱讀:1725 作者:Liu_guozhu 欄目:開發(fā)技術(shù)

C# for Unity 編程語言快速入門教程(連載4)---C#面向?qū)ο驩OP編程 


  C#的OOP(面向?qū)ο螅┚幊淌荂#編程語言中最為精華的部分,如果沒有學(xué)習(xí)C#的OOP部分,則可以認(rèn)為就沒有學(xué)習(xí)過C#。

  C#語言是2001年,微軟推出".Net戰(zhàn)略"時(shí),專門訂制的一門編程語言,其基本的思想就是仿照J(rèn)AVA語言的虛擬機(jī)原理,開發(fā)出“受托管”的中間語言。(即:C#編譯后不是直接生成二進(jìn)制EXE目標(biāo)代碼,而是先生成中間語言(IL),再根據(jù)不同的操作系統(tǒng),最終解釋生成為目標(biāo)代碼)。其最大的好處就是實(shí)現(xiàn)“跨平臺性”,推出幾年后隨著功能與性能的不斷完善,很快就成為了全世界最受歡迎的編程語言之一。


  現(xiàn)在為了讓C#的初學(xué)者更快的了解OOP的技術(shù)概況,現(xiàn)就列出C#OOP編程的基本列表:


1:面向?qū)ο蟮母拍睿菏裁词穷?、對象。以及類與對象的關(guān)系。
   面向?qū)ο笕筇卣鳎?封裝/繼承/多臺

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

3:構(gòu)造函數(shù)。
  功能:是維護(hù)一個(gè)類的完整性??梢酝ㄟ^類的構(gòu)造函數(shù),使得一個(gè)類構(gòu)造出不同(型號/類別)的對象實(shí)體。
 特征:  1)構(gòu)造函數(shù)名稱與類名相同。
             2)構(gòu)造函數(shù)沒有返回?cái)?shù)值,也不加void 關(guān)鍵字。
            3)構(gòu)造函數(shù)不需要調(diào)用,可以直接運(yùn)行。

4:方法的定義。
  方法的構(gòu)成:4部分
  1)    方法的名稱。
  2)    方法的參數(shù)列表
  3)    方法的返回類型,如果沒有返回?cái)?shù)值,要加“void” 關(guān)鍵字。
  4)    方法體(方法的內(nèi)容)

5:學(xué)習(xí)static 關(guān)鍵字。
  特點(diǎn):
    5.1: 用static 修飾的方法,叫靜態(tài)方法。
    5.2: 在實(shí)例方法中,調(diào)用靜態(tài)方法,需要使用類名稱調(diào)用。
                   在靜態(tài)方法中,調(diào)用靜態(tài)方法,可以直接調(diào)用。
                   用途: 是簡化編寫,為了更容易被訪問。

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

7:在繼承關(guān)系下,構(gòu)造函數(shù)的規(guī)則。
   規(guī)則: 實(shí)例化子類,系統(tǒng)先自動(dòng)調(diào)用父類的構(gòu)造函數(shù),然后調(diào)用子類構(gòu)造函數(shù)。

8:學(xué)習(xí)關(guān)鍵字。
   base, this.
   Base: 代表父類對象。
   This: 代表本類對象。
   適用范圍:
       在子類與父類發(fā)生“方法覆蓋”時(shí)候,為了能夠調(diào)用被覆蓋(或者“隱藏”)的方法,必須使用base .

9:base 關(guān)鍵字在構(gòu)造函數(shù)中的應(yīng)用,即:顯示調(diào)用父類構(gòu)造函數(shù)。

10:析構(gòu)函數(shù)。
     定義“~”定義析構(gòu)函數(shù)。 作用是在本對象需要銷毀之前,做一些清理工作。
     比如在需要進(jìn)行數(shù)據(jù)庫連接,Socket 數(shù)據(jù)通信的時(shí)候,需要關(guān)閉對應(yīng)的連接等。

11:命名空間。
     使用關(guān)鍵字: NameSpace 定義。
     目的是:為了一個(gè)項(xiàng)目中,可以使用重名的類。(相當(dāng)于是操作系統(tǒng)中的“虛擬目錄”的概念)。

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

13:學(xué)習(xí)面向?qū)ο笾械摹岸鄳B(tài)性”的概念。

14:多態(tài)性—方法重載。(靜態(tài)多態(tài)性)
     同一個(gè)類中,有多個(gè)方法名相同,但是方法的參數(shù)不同,這種現(xiàn)象叫~。
     多態(tài)性-方法的重寫(動(dòng)態(tài)多態(tài)性)
     在繼承關(guān)系的類中,父類中定義了“虛方法”(關(guān)鍵字:Virtual), 子類使用關(guān)鍵字override 進(jìn)行方法重寫。這種機(jī)制叫~。
     方法重寫的目的: 就是可以不斷優(yōu)化代碼的一種機(jī)制。

15:學(xué)習(xí)Sealed 關(guān)鍵字。
     密封關(guān)鍵字。
     類/ 方法。

16:抽象類/抽象方法。
    關(guān)鍵字: Abstract
    規(guī)則1: 一個(gè)抽象方法,必須存在于抽象類中。但是一個(gè)抽象類可以沒有抽象方法。
    規(guī)則2: 一個(gè)類繼承抽象類,則必須“重寫”抽象父類中的抽象方法。

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

18:值類型與引用類型。
    值類型在方法傳遞的時(shí)候,是傳遞的自身的“拷貝”。
    引用類型在方法傳遞的時(shí)候,是傳遞的自身的“地址”。
    常用值類型與引用類型轉(zhuǎn)換的關(guān)鍵字如下:
    Ref / out 關(guān)鍵字。
    Ref 關(guān)鍵字可以把值類型轉(zhuǎn)變?yōu)橐妙愋汀?br />    Out 關(guān)鍵字目的是可以讓方法有多個(gè)輸出參數(shù)。

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

20:動(dòng)態(tài)多態(tài)性。
    目的是為了更好的開發(fā)出靈活,功能強(qiáng)大的程序。
    可以使用“虛函數(shù)”,“抽象方法”,“接口”來實(shí)現(xiàn)動(dòng)態(tài)多態(tài)性。
    建議使用“接口”來實(shí)現(xiàn)動(dòng)態(tài)多態(tài)性,即:面向接口編程。

21:面向接口編程。
    接口最好功能單一。
    接口可以通過繼承關(guān)系實(shí)現(xiàn)功能強(qiáng)大的復(fù)合接口。


   以上21個(gè)知識點(diǎn),基本概括了C#面向?qū)ο缶幊痰幕靖拍?,后面筆者會(huì)就一些重要的OOP概念進(jìn)行重點(diǎn)講解與總結(jié)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI