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

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

1、相關概念:安全

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

2、類:具備類似屬性和方法的對象的集合設計

3、面向對象程序設計的特色:封裝 繼承 多態對象

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

 

☆相互關係:類是對象的抽象,對象是類的實例,類是一種抽象的分類,對象則是具體事物。事件

好比若是車是一個類,某我的的一輛奔馳車就是一個對象,車的顏色質量就是它的屬性,啓動、中止這些動做則能夠定義爲車的方法。內存

 

2、類的定義與語法get

1、定義類:string

[修飾符] class 類名  

{

   類成員

}

 

2、類的訪問修飾符:public internal

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

語法:

 public class 類名

 {

   類成員

 }

 

b) internal:可訪問域定義範圍內 (默認訪問修飾符)

語法:

(internal) class 類名

 {

   類成員

 }

 

3、類成員:數據成員和字段

a)  數據成員:字段和常量

字段:變量

聲明:類型 字段名

例:

public class Persion
{
    public string name;
}

 

b) 方法成員 (方法是類的行爲,告訴咱們類可以作什麼,)

 實例方法:

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

 {

      方法體

 }

 修飾符:如:publicprivateprotectedinternal

 返回值類型:若方法無返回值,則使用 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、成員的訪問修飾符:publicprivateprotectedinternal

 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();
        }
    }
}

 

 

 

 

3、實例化對象:關鍵字: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(); 
  
  
  
        } 
    } 
}

 

 

4、屬性

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;}

 

5、方法的參數

1、值參數:按值傳遞

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

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

關鍵字:out

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

相關文章
相關標籤/搜索