静的クラスに実装されるクラスはありますか?手段:
static class ABC : Anyclass
シールクラスと静的クラスの両方で継承できるクラスはありますか?
手段:
static class ABC : AClass {}
そして
sealed class ABC : AClass {}
ある程度間違っているかもしれませんか?
これはあなたを助けるかもしれません:
+--------------+---+-------------------------+------------------+---------------------+
| Class Type | | Can inherit from others | Can be inherited | Can be instantiated |
|--------------|---|-------------------------+------------------+---------------------+
| normal | : | YES | YES | YES |
| abstract | : | YES | YES | NO |
| sealed | : | YES | NO | YES |
| static | : | NO | NO | NO |
+--------------+---+-------------------------+------------------+---------------------+
簡単な言葉で
静的クラス
クラスは静的と宣言でき、静的メンバーのみが含まれていることを示します。 newキーワードを使用して静的クラスのインスタンスを作成することはできません。静的クラスは、クラスを含むプログラムまたは名前空間が読み込まれると、.NET Framework共通言語ランタイム(CLR)によって自動的に読み込まれます。
密閉クラス
シールクラスは基本クラスとして使用できません。シールドクラスは、主に派生を防ぐために使用されます。基本クラスとしては決して使用できないため、実行時の最適化によっては、シールクラスのメンバーの呼び出しがわずかに速くなる場合があります。
sealed
クラスに別のクラスを継承させることはできますが、fromsealed
クラスを継承することはできません。
sealed class MySealedClass : BaseClass // is ok
class MyOtherClass : MySealedClass // won't compile
static
クラスは他のクラスから継承できません。
簡単な答えは封印されたクラスは基本クラスとして使用できませんです。
封印されたクラスが以下のコードの派生クラスであることを示しています
public sealed class SealedClass : ClassBase
{
public override void Print()
{
base.Print();
}
}
また、別の封印された機能は、そこからのインスタンスでのみアクセス可能です(継承することはできません)
class Program
{
static void Main(string[] args)
{
SealedClass objSeald = new SealedClass();
objSeald.Name = "Blah blah balh";
objSeald.Print();
}
}
単純に両方を区別することができます:
Sealed Class | Static Class
--------------------------|-------------------------
it can inherit From other | it cannot inherit From other
classes but cannot be | classes as well as cannot be
inherited | inherited
1-いいえ、静的クラスを実装することはできません。
2-いいえ、静的クラスまたはシールクラスから継承することはできません