-
プロパティの set メソッドに渡される暗黙的なパラメーターの名前は何ですか?
値。その型は、プロパティの宣言された型と同じです。
C# で継承を実装するにはどうすればよいですか?
クラス名の後にコロンを追加し、その後に基本クラスの名前を追加します。
C# は多重継承をサポートしていますか?
サポートされていません。これはインターフェースを使用して実現できます。
保護されたプロパティ/メソッドにはどこからアクセスできますか?
このクラスの継承または間接継承およびサブクラスによってアクセスできます。
プライベートメンバーは継承されますか?
はい、しかしアクセスできません。そのため、継承できないように見えますが、実際には継承されます。 (私の意見では、サブクラスは親クラスからすべてを継承します。<JAVA での考え方> によれば、サブクラス オブジェクトは親クラス オブジェクトの完全なコピーを持っています。クラスのインスタンス化は、最上位のスーパークラスからインスタンス化され、レイヤーです。 by-layer ラッピング構造。プライベート制限付きアクセス メソッドはクラス内にのみ存在できます。実際、サブクラス オブジェクトは親クラス オブジェクトのすべてを所有します。)
修飾子で保護された内部について説明してください。
protected Internal によって変更されたプロパティ/メソッドには、同じアセンブリ (Assembly) 内のそのサブクラスからのみアクセスできます。
C# では、デフォルトのパラメーターなしのコンストラクターが提供されています。1 つのパラメーターを持つ別のコンストラクターを実装する場合、このパラメーターなしのコンストラクターも保持したいと考えています。この方法でコンストラクターをいくつ作成すればよいでしょうか?
2 つ目は、コンストラクターを実装すると、C# はデフォルトのコンストラクターを提供しなくなるため、パラメーターなしのコンストラクターを手動で実装する必要があります。
C# のすべてのオブジェクトに共通の基本クラスは何ですか?
システムオブジェクト。
オーバーロードと上書きの違いは何ですか?
オーバーロードは、さまざまなパラメーターを使用してメソッド シグネチャを呼び出す実装を提供します。オーバーライドにより、親クラスのメソッドの動作を変更する実装がサブクラスに提供されます。
メソッド定義における仮想とは何を意味しますか?
virtual によって変更されたメソッドは、サブクラスによってオーバーライドできます。
非静的メソッドを静的メソッドにオーバーライドできますか?
いいえ、オーバーライドするメソッドのシグネチャは、virtual をオーバーライドに変更する場合を除き、オーバーライドされるメソッドのシグネチャと一致している必要があります。
プライベート仮想メソッドをオーバーライドできますか?
いいえ、親クラスのプライベート メソッドであっても、サブクラスではアクセスできません。
クラスが他のクラスに継承されないようにすることはできますか?
はい、キーワード sealed を使用します。
特定のクラスの継承は許可するが、そのクラス内の特定のメソッドのオーバーライドは許可しないことは可能ですか?
はい、このクラスをパブリックとしてマークし、このメソッドをシールとしてマークします。
抽象クラスとは何ですか?
インスタンス化できないクラス。抽象クラスには通常、抽象メソッドが含まれていますが、もちろん、具体的な実装を持つこともできます。継承されたクラスは、抽象クラスのすべての抽象メソッドを実装した後でのみインスタンス化できます。
クラスを抽象宣言する必要があるのはどのような場合ですか?
このクラスに抽象メソッドが含まれている場合、またはクラスが親クラスの抽象メソッドを完全に実装していない場合。
インターフェースとは何ですか?
パブリック抽象メソッドのみを含むクラス。これらのメソッドはサブクラスで実装する必要があります。
インターフェイス内のメソッドに修飾子を指定できないのはなぜですか?
インターフェイス内のメソッドは、オブジェクト間の通信の規約を定義するために使用されます。インターフェイス内のメソッドをプライベートまたは保護として指定することは意味がありません。デフォルトではパブリック メソッドが使用されます。
複数のインターフェイスを継承できますか?
確かに。
では、これらのインターフェイスに重複したメソッド名がある場合はどうなるでしょうか?
この場合、実装方法を決定できます。もちろん十分な注意が必要です。しかし、コンパイルプロセスには問題はありません。
インターフェースと抽象クラスの違いは何ですか?
インターフェイス内のすべてのメソッドは抽象メソッドである必要があり、メソッド アクセス修飾子は指定できません。抽象クラスはメソッド実装を持つことができ、メソッドのアクセス修飾子を指定することもできます。
オーバーロードされたメソッドを区別するにはどうすればよいですか?
パラメーターのタイプ、パラメーターの数、パラメーターの順序が異なります。
const と readonly の違いは何ですか?
const キーワードはコンパイル時定数を宣言するために使用され、readonly は実行時定数を宣言するために使用されます。
System.String と System.StringBuilder の違いは何ですか?
System.String は不変の文字列です。 System.StringBuilder は変数文字列を格納し、この文字列を変更するためのメソッドをいくつか提供します。
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/thy822/archive/2009/12/23/5060689.aspx
-