多重継承はできません。必ず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();
}
このサイトのページへのリンクは自由に行っていただいてかまいません。
このサイトで公開している全ての画像、プログラム、文書の無断転載を禁止します。
ここをクリック
すると表示されるページから作者へメールで連絡できます。