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) 方法成員 (方法是類的行爲,告訴咱們類可以作什麼,)
實例方法:
修飾符 返回值類型 方法名(參數列表)
{
方法體
}
修飾符:如: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; namespace ConsoleApplication2
|
3、實例化對象:關鍵字:new
語法:
類 對象名稱=new 類();
例: |
|
代碼以下 |
複製代碼 |
using System; |
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關鍵字時,就是帶數組型參數的方法(使用引用傳遞)