정적 및 밀봉 클래스 차이
정적 클래스로 구현되는 클래스가 있습니까? 방법:
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 |
+--------------+---+-------------------------+------------------+---------------------+
간단한 말로
정적 클래스
정적 멤버 만 포함하고 있음을 나타내는 클래스를 static으로 선언 할 수 있습니다. new 키워드를 사용하여 정적 클래스의 인스턴스를 작성할 수 없습니다. 정적 클래스는 클래스가 포함 된 프로그램 또는 네임 스페이스가로드 될 때 .NET Framework CLR (공용 언어 런타임)에 의해 자동으로로드됩니다.
봉인 된 클래스
봉인 클래스는 기본 클래스로 사용할 수 없습니다. 봉인 클래스는 주로 파생을 방지하는 데 사용됩니다. 기본 클래스로 사용할 수 없기 때문에 일부 런타임 최적화는 봉인 클래스 멤버를 약간 빠르게 호출 할 수 있습니다.
당신은 할 수 있습니다 sealed
다른 클래스에서 클래스 상속을,하지만 당신은 상속 할 수 없습니다 에서sealed
클래스 :
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-아니요, 정적 또는 봉인 클래스에서 상속받을 수 없습니다.
참고 URL : https://stackoverflow.com/questions/16217313/static-and-sealed-class-differences
'IT' 카테고리의 다른 글
RecyclerView의 맨 아래로 스크롤하는 방법? (0) | 2020.06.19 |
---|---|
TimeUnit 열거 형을 사용하여 나노초를 초로 변환하는 방법은 무엇입니까? (0) | 2020.06.19 |
C의 숨겨진 기능 (0) | 2020.06.19 |
HsOpenSSL API를 올바르게 사용하여 TLS 서버 구현 (0) | 2020.06.19 |
애니메이션 GIF를 PDF에 포함시킬 수 있습니까? (0) | 2020.06.19 |