類別(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);
}
}
沒有留言:
張貼留言