Tips - Visual C#

【TOP】

基本クラスのコンストラクタを呼ぶ
派生クラスから基本クラスにアクセスするには「base」キーワードを使います。
以下の例では、基本クラスのコンストラクタとメソッドを呼び出しています。
using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace ConsoleApplication1 { // 基本クラス class Pet { // 名前 protected string _name; // 空を飛べるかどうか protected bool _canFly; // コンストラクタ public Pet(string name, bool canFly) { Console.WriteLine("class Pet のコンストラクタが呼ばれました。\n"); this._name = name; this._canFly = canFly; } // 名前プロパティ public string Name { get {return this._name;} } // 空を飛べるかどうかプロパティ public bool CanFly { get {return this._canFly;} } // 話す public void Talk() { Console.WriteLine("私の名前は{0}です。", this._name); Console.WriteLine("ちなみに私は空を{0}。", this._canFly ? "飛べます" : "飛べません"); } } // 派生クラス class DogAsPet : Pet { // 色 protected Color _color; // コンストラクタ public DogAsPet(string name, Color color) : base(name, false) { Console.WriteLine("class DogAsPet のコンストラクタが呼ばれました。\n"); this._color = color; } // 色プロパティ public Color Color { get {return this._color;} } // ほえる public void Bark() { Console.WriteLine("ほえます。ワン!"); base.Talk(); Console.WriteLine("何か文句ある?"); } } class Program { static void Main(string[] args) { DogAsPet John = new DogAsPet("John", Color.Brown); John.Bark(); } } }
上のプログラムを実行すると以下のような結果となります。
class Pet のコンストラクタが呼ばれました。 class DogAsPet のコンストラクタが呼ばれました。 ほえます。ワン! 私の名前はJohnです。 ちなみに私は空を飛べません。 何か文句ある?
【戻る】