2008年4月17日 星期四

存取修飾詞的限制

本篇參考來源來自MSDN詳請請參照請點我


類別(class)或結構(struct)的成員可以用五種存取層級來宣告

這些成員可以是公用(public)或內部(private)型別,就跟類別和結構本身一樣。

類別成員可以使用 protected 關鍵字宣告為受保護的成員,表示只有自己和使用繼承該類別的衍生類別,才可以存取這個成員。

當使用 protected 再加上 internal 關鍵字,就會將類別成員標記為受保護的內部成員,這時只有衍生類別或內部類別可以存取該成員。

最後,類別或結構的成員可以使用關鍵字 private 宣告為私用成員,表示只允許宣告該成員的類別或結構存取該成員。


public class MainClass{
public static void main(){
Vehicle[] v=new Vehicle[2];
v[0] = new Car(”Car”);
v[1] = new Motorcycle(”YAMAHA”);
v[0].echo();
v[1].echo();
v[0].getData();
v[1].getData();
}
}

abstract class Vehicle
{
///
/// 宣告echo為抽象函式時,不能撰寫任何程式碼,只能下定義
/// 雖然宣告了Vehical為抽象類別,但是其內容的任何東西並非皆具有抽象屬性
///
abstract public void echo();
protected string str;

public Vehicle(string str)
{
this.str = str;
}

public void getData()
{
Console.WriteLine(”{0}”,str);
}
}

class Car : Vehicle
{
public Car(String str):base(str)
{
}
public override void echo()
{
Console.WriteLine(”This is a {0}”,str);
}
}

class Motorcycle : Vehicle
{
public Motorcycle(String str):base(str)
{
}

public override void echo()
{
Console.WriteLine(”This is a {0}”,str);
}
}

沒有留言:

張貼留言