私の以前の知見と同じように、私はいつも複数の継承が.NETではできないことを知りました。それが本当であるなら、私は..私はコードセグメント以下したときに混乱していますASP.NETで複数の継承が可能です
と仮定私が持っている
class Employee{}
Employee
は、その後、私は名前の別のクラスにEmployee
クラスを継承していますという名前のクラスManager
class Manager : Employee
{
}
私たちのすべてのクラスは、.NETクラスライブラリで定義されているか、またはユーザ定義で常にSystem.Object
を基本クラスとして持っています。それが真である場合、Manager
クラスは2つの基本クラスを持ち、1つはSystem.Objectであり、もう1つはEmployee
であり、System.Object
は暗黙的に継承され、Employeeクラスは明示的に継承され、Manager
クラスは複数継承.NETでは実際には不可能です。
だから、何らかの理由で多重継承が可能で、可能であれば、開発者がコードを書くときにコンパイル時エラーが発生するのはなぜでしょうか。
.NETで直接継承できない複数の継承。 – Dilip
あなたは混乱しています - これは多重継承ではありません。マネージャには1つの基本クラスEmployeeがあります。従業員は1つの基本クラスのシステムを持っています。オブジェクト。 ManagerはEmployeeから継承してSystem.Objectのメリットを得ていますが、暗黙のうちにSystem.Objectを魔法のように継承しているわけではありません。 – dbugger
あなたは多重継承の意味を誤解しているようです。クラスに2つ(またはそれ以上)の直接的な親クラスがある場合、複数の継承について説明します。チェーンを継承するクラスのチェーンは、チェーンの長さにかかわらず、依然として単一の継承です。 – laszlok