C#學習筆記(—)
一、語法
迴圈:
foreach(型別識別符號 in 表示式)
{
//code //用法
}
例子
int [] temp = {64,5,57,65};
foreach(int num in temp) // 每次從temp取一個元素賦給num直至取完
{
Console.WriteLine("{0}/n",num); //每行顯示一個元素
}
執行結果:
64
5
57
65
C#中只讀/只寫控制
class Studnet
{
public int sId; //欄位
private string sName; // 屬性
public string Name
{
get
{
return sName;
} //讀寫控制。 如:只有get時候只可讀
set
{
sName = value;
}
}
}
static void main()
{
Student std = new Student();
std.Name = "Jonathan"; //value = “Jonathan” 呼叫Name屬性中set {sName = value;}
Console.WriteLine("{0}",std.Name); //呼叫Name屬性get{return sName}
}
二、類 面向物件思想
類有兩類成員只能通過類名訪問
常量 public const int Number = 3;
靜態變數 public static int value = 5;
靜態成員函式 public static void Print();
Person p = new Person(); //設Person是類
int number = p.Numer; //wrong
int number = Person.Number; // true
p.Print(); //wrong
Person.Print // true
抽象類與虛擬函式
有抽象函式的類一定是抽象類。
抽象類不一定都是抽象函式。
抽象類定義
abstract class 類名
抽象函式定義
訪問修飾符 abstract 返回型別 函式名(引數)
虛擬函式定義
訪問修飾符 virtual 返回型別 函式名(引數) //public virtual位置可換 一般public放前
重寫虛擬函式/ 抽象函式
訪問修飾符 override 返回型別 函式名(引數)
抽象函式 與 虛擬函式 區別
抽象函式
1) 父類只能宣告, 不能定義主體。
2) 基類一定要重寫抽象函式。
3) 呼叫子類定義的函式體
虛擬函式
1)父類一定要定義主體。
2)基類不一定要重寫虛擬函式。
3) 如果子類有定義呼叫子類函式體,否則呼叫父類函式體。
使用:
一般來說,子類的實現方法都不同的時候用抽象函式方法。 子類的實現方法大部分相同的時候用虛擬函式方法。
目的 實現繼承的多型,程式碼的重用,減少程式碼冗餘。