1

C# では、いくつのクラスから継承できますか?

あなたが書くとき:

using System.Web.UI;

それはクラスからの継承と見なされますか?

4

5 に答える 5

7

usingディレクティブ:

using X.Y.Z;

only は、識別子がローカル名前空間にない場合、名前空間X.Y.Zでその識別子も検索されることを意味します。System.IO.Path.Combine()これにより、コードをいくらか簡潔にすることができるため、たとえばがある場合は、その必要はありませんusing System.IO.Pathusingステートメントの数に制限があるとは思いません。

C# では多重継承は許可されていません。継承できるクラスは 1 つだけです。ただし、インターフェイスはいくつでも実装できます。

于 2009-09-06T20:44:24.960 に答える
7

いいえ、

usingディレクティブを使用すると、コントロールまたはクラスをコードに追加するときに、完全修飾名前空間を入力する必要がなくなります。

たとえば、次のように追加します。

using System.Web.UI;

それから私は簡単に書くことができます:

Page.Something

それ以外の:

System.Web.UI.Page.Something

継承 継承
できるクラスは 1 つだけですが、インターフェイスはいくつでも実装できます。

すべてのページが基本クラスから継承されている場合、その基本クラスはクラスから継承する必要がありPageます。

于 2009-09-06T20:45:08.873 に答える
3

継承できるクラスは 1 つだけです。

「using System.Web.UI」と書くことは、継承とは何の関係もありません。このステートメントは、名前空間 System.Web.UI にあるクラスを「使用」して、名前空間名を前に付ける代わりに、クラス名を直接記述できることを意味します。

于 2009-09-06T20:44:28.867 に答える
1

ジェンの答えに補遺を付け加えたいと思います。C#は多重継承をサポートしていないと言うのは正しいですが、CLS(コマンド言語サブシステム)を無視することで.NETに多重継承を実装できることを知っておくと便利です。これは厄介な作業であり、独自のvtableをロールする必要がありますが、それは可能です。

于 2009-09-06T21:07:56.093 に答える
1

いいえ。

  1. using外部で定義されたクラスを可視にする
  2. class Cat : AnimalPetから派生 (継承)するクラスを定義しますAnimal

C# は C++ とは異なり、多重継承をサポートしていないため、1 つのクラスからしか派生できません (ただし、任意の数のインターフェイスを実装できます)。

于 2009-09-06T20:48:12.103 に答える