Sealed

yankesxx

sealed - modyfikator klas w języku C#

Klasy oznaczone tym modyfikatorem są traktowane jako zaplombowane. Nie mogą być klasami bazowymi dla innych - nie można z nich dziedziczyć.

using System;

namespace Foo
{
   sealed public class BaseClass
   {
      // elementy klasy
   }

   public class MyClass : BaseClass
   {
      static void Main() 
      {
      
      } 
   }
}

W czasie kompilacji otrzymamy błąd, że dziedziczenie z klasy BaseClass jest niemożliwe: cannot inherit from sealed class.

W praktyce nigdy nie powinieneś mieć potrzeby plombowania klas, gdyż uniemożliwia to ich dalszą rozbudowę. Używaj modyfikatora sealed wówczas gdy masz ku temu ważne powody - np. klasa zawiera informacje które ze względów bezpieczeństwa nie mogą być ujawnione w klasach potomnych.

Zobacz też:

3 komentarzy

Nie dość że w tym przykładzie brakuje użycia modyfikatora sealed to na dodatek metoda main nie znajduje się w żadnej klasie i dziedziczy z klasy program. Poprostu paranoja !!! Yankesxx mógłbyś to poprawić.

przepraszam... niedopatrzenie... juz poprawione :)

Hmm... Zapomniałeś poprawić błąd z dziedziczeniem ponieważ to nie metody mogą dziedziczyć tylko klasy, a i metoda main powinna zaczynać z dużej litery (Main).