C#類、對象、方法、屬性詳解(摘)感謝部落格園,感謝提供者。感謝我張帥哥。

來源:互聯網
上載者:User

標籤:按值傳遞   依賴   列表   namespace   多態   防止   類型   day   employee   

C#類、對象、方法和屬性詳解

一、相關概念:

1、對象:現實世界中的實體(世間萬物皆對象)

2、類:具有相似屬性和方法的對象的集合

3、物件導向程式設計的特點:封裝 繼承 多態

4、對象的三要素:屬性(對象是什麼)、方法(對象能做什麼)、事件(對象如何響應)

 

☆相互關係:類是對象的抽象,對象是類的執行個體,類是一種抽象的分類,對象則是具體事物。

比如如果車是一個類,某個人的一輛平治車就是一個對象,車的顏色品質就是它的屬性,啟動、停止這些動作則可以定義為車的方法。

 

二、類的定義與文法

1、定義類:

[修飾符] class 類名  

{

   類成員

}

 

2、類的存取修飾詞:public internal

a) public:可訪問域是所在的程式和任何引用的程式 訪問不受限制

文法:

 public class 類名

 {

   類成員

 }

 

b) internal:可訪問域定義範圍內 (預設存取修飾詞)

文法:

(internal) class 類名

 {

   類成員

 }

 

3、類成員:資料成員和欄位

a)  資料成員:欄位和常量

欄位:變數

聲明:類型 欄位名

例:

public class Persion
{
    public string name;
}

 

b) 方法成員 (方法是類的行為,告訴我們類能夠做什麼,)

 執行個體方法:

修飾符 傳回值類型 方法名(參數列表)

 {

      方法體

 }

 修飾符:如:public、private、protected、internal

 傳回值類型:若方法無傳回值,則使用 void

例:

public class Example01  //執行個體方法

{

    public void SayHello()  //定義一個無參無返回的方法

    { 

    Console.WriteLine("Hello There")

}

static void Main()

{

Example01 objA=new Example01()

objA.SayHello()    //建立對象並調用方法

}

}

 

靜態方法:

修飾符 static傳回值類型 方法名(參數列表)  //增加了static關鍵字

 {

      方法體

 }

例:

public class Example01  //執行個體方法

{

    public static void SayHello()  //定義一個靜態方法

    { 

    Console.WriteLine("Hello There")

}

static void Main()

{

Example01.SayHello()    //不需要建立對象

}

}

 

靜態方法與執行個體方法的區別靜態方法只與類有關,它不依賴於對象的存在而存在;執行個體方法則在對象存在後才能使用。

 

4、成員的存取修飾詞:public、private、protected、internal

 a)  public:公有成員

 b) private:私人成員

 c) protected:保護成員

 d) internal:內部成員

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication2{    public class Employee    {        private float sum;        public int day;        public float wage;        //定義方法輸出工資資訊        public void Show()        {            sum = day * wage;            Console.WriteLine("工作時間:{0},每天工資:{1},總工資:{2}",day,wage,sum);        }    }    class Program    {        static void Main(string[] args)        {            Employee employee = new Employee();            employee.day = 20;            employee.wage = 50;            //employee.sum:無法訪問  因為它為私人成員            //調用方法現實工資            employee.Show();        }    }} 

 

三、執行個體化對象:關鍵字:new

文法:

類 對象名稱=new 類();

using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace ConsoleApplication1 {     public class car     {         private string carName;         private string carType;         private int price;           public string CarName         {             get { return carName; }             set { carName = value; }         }         public string CarType         {             get { return carType; }             set { carType = value; }         }                 public int Price         {             get { return price; }             set { price = value; }         }           public void  action()         {             Console.WriteLine("一輛名叫{0}車,型號是{1},價錢是:{2}",carName,carType,price);         }               }       //建立執行個體並訪問欄位和方法     class Program     {         static void Main(string[] args)         {             //建立car類的執行個體             car vehicle = new car();            //給執行個體賦值             vehicle.CarName = "平治";             vehicle.CarType = "XZ001";             vehicle.Price = 1000000;               //調用方法             vehicle.action();               }     } }

 

四、屬性

1、

 a) 概念:用於訪問類的欄位的成員

 b) 屬性用途:保證資料安全,作資料的驗證

 

2、聲明:

存取修飾詞 資料類型 屬性名稱

{

  get{return 欄位;}  //讀訪問器,通過它外部使用者可以讀取屬性的值

  set{欄位=value;}  //寫訪問器,通過它外部使用者可以為屬性賦值,使用者輸入的值就存放在value關鍵字中,並可以進行輸入值驗證               

}

例:

public class Student

{

private int age;   //私人欄位,防止使用者直接存取

public int Age

{

get{return age;}  //用於讀取age的值

set

{

if((value>=18)&&(value<=45))

age=value;  //為age賦值並驗證

else

age=18;

}

}

}

 

3、特殊屬性:

a) 唯讀屬性:

public 資料類型 屬性名稱

{

get{return 欄位;}

}

b) 自動屬性:

public 資料類型 屬性名稱{get;set;}

 

五、方法的參數

1、值參數:按值傳遞

2、引用參數:向方法傳遞實參在記憶體中的地址,按地址傳遞

3、輸出參數:從方法傳遞迴一個結果

關鍵字:out

4、數組型參數:參數只允許是一組數組,當方法的參數前帶有params關鍵字時,就是帶數組型參數的方法(使用引用傳遞)

C#類、對象、方法、屬性詳解(摘)感謝部落格園,感謝提供者。感謝我張帥哥。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.