정적 클래스로 구현되는 클래스가 있습니까? 방법:
static class ABC : Anyclass
봉인 클래스와 정적 클래스 모두에서 상속 될 수있는 클래스가 있습니까?
방법:static class ABC : AClass {}
과
sealed class ABC : AClass {}
어느 정도 틀릴 수 있습니까?
정적 클래스로 구현되는 클래스가 있습니까? 방법:
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 |
+--------------+---+-------------------------+------------------+---------------------+
root class
상속과 인스턴스 만 상속 할 수 없습니다 할 수있다. 확실하지 이유는 여전히 유용 할 수 있지만 것
static class Foo : object { }
유효하지만 기본적으로 static class Foo { }
입니다.
간단한 말로
정적 클래스
정적 멤버 만 포함하고 있음을 나타내는 클래스를 static으로 선언 할 수 있습니다. new 키워드를 사용하여 정적 클래스의 인스턴스를 작성할 수 없습니다. 정적 클래스는 클래스가 포함 된 프로그램 또는 네임 스페이스가로드 될 때 .NET Framework CLR (공용 언어 런타임)에 의해 자동으로로드됩니다.
봉인 된 클래스
봉인 클래스는 기본 클래스로 사용할 수 없습니다. 봉인 클래스는 주로 파생을 방지하는 데 사용됩니다. 기본 클래스로 사용할 수 없기 때문에 일부 런타임 최적화는 봉인 클래스 멤버를 약간 빠르게 호출 할 수 있습니다.
간단한 대답은 봉인 된 클래스를 기본 클래스로 사용할 수 없다는 것 입니다.
봉인 클래스가 아래 코드에서 파생 된 클래스임을 보여 주려고합니다.
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();
}
}
static
과는 정말 아무것도 없습니다sealed