C#類、靜態類

 

    C#是面向對象(object-oriented)類型的計算機語言,使用類(class)來體現面向對象的概念。編程

  分類(classification)工具

  咱們在現實世界中,會遇到不少被分類的事物。例如,動物,汽車,傢俱。這些事物,在計算機語言中統稱爲對象(object).拿汽車爲例子,一個汽車最基本的配件、功能有:輪胎,方向盤、引擎,能駕駛等等。在編程世界裏,咱們建立一個汽車對象的過程,稱爲建模(modeling).建模的過程,就是將輪胎,方向盤,引擎,能駕駛等封裝到模型中。封裝是面向對象的幾大特色中的一個。咱們將輪胎,方向盤,引擎以字段(fields)的形式存在在模型中,將能駕駛以方法(method)的形式存在模型中。下面代碼片斷建了一個汽車模型,或者汽車類。spa

class  Automobile
{
     private  string _steeringWheel;

     private string   _tire;

     private string _engine;

    public void    Run()
 {
         
 }
}

當建立了一個類,這個類就會設定一個邊界來隔離類內部與類外部。那麼外部怎樣去訪問類內部的字段與方法呢?public修飾符,能夠容許類外部訪問。private修飾符,只容許類內部訪問。code

_steeringWheel,_tire,_engine,這些字段是private修飾,類外部不容許訪問。Run()方法,public修飾,外部能夠訪問。咱們將一些屬性,方法封裝在了Automobile類中。封裝的意義有兩個:對象

1.將屬性、方法集合在一塊兒。換句話說,就是分類。將屬於汽車的配件,功能從其餘事物中分類出來。blog

2.控制屬性,方法的訪問。經過給定訪問修飾符來控制類外部是否訪問類內部的字段,方法。string

 

靜態方法、數據:io

   靜態方法,不一樣於普通方法,靜態方法只能經過類來調用。普通方法只能經過實例化對象來調用。例如:編譯

 

class  Test
{
        pulbic static DoWrok()
        {
                    DoWork2(); //即便DoWork2與該方法在一個類中,也不能夠訪問。
                                      //靜態方法只能夠訪問靜態方法,靜態字段                        
       }
      public void DoWork2()
    {
                
    }
}

  
    Test.DoWork();  //能夠調用成功
     Test.DoWork(2);// 編譯失敗
     Test  object=new Test(); //實例化了Test對象
      object.DoWork2(); //經過實例化對象來調用方法

通常靜態方法都是一些經常使用方法,在程序中使用比較頻繁,不用每次調用都要實例化對象。有靜態方法,也有靜態類。關於靜態類,應當注意一下幾點:class

1.靜態方法中只容許靜態成員,換句話,靜態類中的字段,方法必須都是靜態的。

2.靜態類的用處,封裝一些經常使用的工具。

關於靜態字段,與常量字段須要注意,常量字段不能夠標記爲靜態類型,可是它靜態的。

 

匿名類(Anonymous Class):

顧名思義,匿名類就是沒有名字的類。咱們用var關鍵字來定義它的類型。關於匿名類有一些限制:

1.匿名類只能包含公共字段

2.匿名類不能夠包含方法

3.匿名類的字段不能夠定義爲靜態的

4.匿名類的字段必須初始化

var Anonymous =new {Name="Diana",Age=46};
相關文章
相關標籤/搜索