一、類的概述
類,是創建對象的模板,每個對象都包含數據,並且提供了處理和訪問數據的方法。換言之,類,定 義了每個對象,也就是“實例”包含什麼數據和功能。
比如我們定義一個“醫生”類,並且實例化一個。我們看下面的代碼:
using System;
namespace gosoa.com.cn
{
public class Doctor
{
public Doctor(){}
public Doctor(string name,byte age)
{
this._name=name;
this._age=age;
}
private string _name;
private byte _age;
public string Name
{
get{return this._name;}
set{this._name=value;}
}
public byte Age
{
get{return this._age;}
set{this._age=value; }
}
public string DOSth()
{
return "我會給人治病喔~~";
}
public static string doAnth()
{
return "執行的另一個靜態方法";
}
}
public class OneDoctor
{
static void Main()
{
Doctor dc=new Doctor();
dc.Name="李四";
dc.Age=25;
Doctor dc2=new Doctor("張三",35);
Console.WriteLine(dc.Name);
Console.WriteLine(dc.Age);
Console.WriteLine(dc2.Name);
Console.WriteLine(dc2.Age);
Console.WriteLine(dc.DOSth());
Console.WriteLine(Doctor.doAnth());
}
}
}
在這個例子中,public class Doctor 便是聲明了一個類。_name和_age是其兩個屬性。DOSth()是其 的一個方法(即對象的行為)。 Doctor dc=new Doctor() 用來實例化了一個Doctor類,也就類似實例化 了一個對象,產生了一個新醫生。Doctor dc2=new Doctor("張三",35);是實例化的另外一個類,也就是 另外一個醫生。
在Doctor類中,public Doctor(){} public Doctor(string name,byte age) 這兩個方法叫做 構造 函數。是用來初始化類的,在每個類被實例化的時候,會自動調用。
public string Name
{
get{return this._name;}
set{this._name=value;}
}
這段代碼是用來設置和獲取類的屬性的。也就類似Java中的 getName 和 setName 方法。只是在C#中 這變得更容易了。
注意一點:類是存儲在托管堆上的引用類型。