多重継承はできません。必ず1つのクラスから派生させます。
親クラスを指定しなかった場合には、System.Object が親になります。
java と同様、1つの基底クラスの他に、複数のインタフェースを実装することができます。
インタフェースの定義と実装は下記のように書きます。
interface IPrintableTest { void Print(); bool Printed { get; set; } }; class PrintableTest : IPrintableTest { private bool printed = false; public void Print() { Console.WriteLine("PrintableTest OK"); } public bool Printed { get { return printed; } set { printed = value; } } public static void Test() { IPrintableTest printable = new PrintableTest(); printable.Print(); } };
インタフェースやクラスのキャスト用に、as 演算子が用意されています。
IPrintableTest printable = new PrintableTest(); PrintableTest org = printable as PrintableTest; if (org != null) org.Print();
printable は IPrintableTest 型の変数ですが、インスタンスの型は、PrintableTest 型なので、PrintableTest 型の変数に as を使用して代入することができます。
下記のように is 演算子とキャストを利用しても同様の効果が得られます。
IPrintableTest printable = new PrintableTest(); if (printable is PrintableTest) { PrintableTest org = (PrintableTest)printable; org.Print(); }
このサイトのページへのリンクは自由に行っていただいてかまいません。
このサイトで公開している全ての画像、プログラム、文書の無断転載を禁止します。
ここをクリック
すると表示されるページから作者へメールで連絡できます。