Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 봉인된 수정자는 무엇입니까?

<시간/>

메서드에 대해 C#에서 봉인된 수정자를 사용하면 메서드가 재정의하는 기능이 손실됩니다. 봉인된 메서드는 파생 클래스의 일부여야 하며 메서드는 재정의된 메서드여야 합니다.

예를 들어 보겠습니다 -

다음 예제에서는 Display() 메서드를 재정의할 수 없습니다. ClassTwo 파생 클래스에 대해 봉인된 수정자가 있기 때문입니다.

ClassOne은 우리의 기본 클래스인 반면 ClassTwo와 ClassThree는 파생 클래스입니다 -

class ClassOne {
   public virtual void display() {
      Console.WriteLine("baseclass");
   }
}

class ClassTwo : ClassOne {
   public sealed override void display() {
      Console.WriteLine("ClassTwoderivedClass");
   }
}

class ClassThree : ClassTwo {
   public override void display() {
      Console.WriteLine("ClassThree: Another Derived Class");
   }
}

위에서 ClassThree 파생 클래스 아래에서 우리는 봉인된 메서드를 재정의하려고 했습니다. 봉인된 방법을 사용할 경우 허용되지 않으므로 오류가 표시됩니다.