申し訳ありませんが、質問のファンキーなタイトルを取得していません。複数の継承とオブジェクトC#
私は、.NET(C#)はサポートしていません。複数継承。しかし、下のfooの例を見ると、本当に本当ですか?
class fooList
{
public int Index()
{
return 0;
}
}
class foo : fooList
{
public foo()
{ }
}
class testFoo
{
void test()
{
foo obj = new foo();
// From object
obj.Equals(obj);
obj.GetHashCode();
obj.GetType();
obj.ToString();
// From fooList
obj.Index();
}
}
私たちは、私はクラスfooList
とことわざに応じfooList
を継承するクラスfoo
を持っていることを見ることができるように(C#は多重継承をサポートしていません)クラスfoo
のオブジェクトがIndex()
ある唯一の方法を持っている必要がありますfooList
クラスからですが、オブジェクトクラスのメソッドが増えています。これは、デフォルトですべてのクラスがobject
クラスを継承することを明確に示しています。だから質問が発生する
- C#が複数をサポートしていないということは本当に本当ですか? 継承?
- CLRレベルでサポートしていると思いますが、なぜそれがサポートされていないのですか? コーディングでは?
これは多重継承のケースではありません。すべてのクラスは、特に指定がなければオブジェクトから継承します。別のクラスから直接継承すると、そのクラスがオブジェクトから継承するので、間接的にオブジェクトから継承します。オブジェクトはすべてのオブジェクトのルートです。 – Andreas
'class fooList'は' class fooList:object'の省略形です。それはあなたの混乱を解消するはずです。 – user1096188