Bir sınıfı olarak işaretleme Sealed , güvenliği tehlikeye atabilecek veya performansı etkileyebilecek önemli sınıfların değiştirilmesini önler.
Çoğu zaman, bir sınıfı mühürlemek, değiştirmek istemediğimiz sabit davranışlı bir fayda sınıfı tasarlarken de anlamlıdır.
Örneğin, içindeki Systemad alanı C#mühürlenmiş birçok sınıf sağlar, örneğin String. Mühürlenmemişse, belirli bir işlevselliğe sahip temel bir tür olduğu için istenmeyen bir durum olabilecek işlevselliğini genişletmek mümkün olacaktır.
Benzer şekilde, structuresiçinde C#her zaman örtük olarak mühürlenir. Dolayısıyla, bir yapı / sınıf başka bir yapıdan türetilemez. Bunun nedeni , değiştirmek istemediğimiz ,structures yalnızca bağımsız, atomik, kullanıcı tanımlı veri türlerini modellemek için kullanılmasıdır .
Bazen, sınıf hiyerarşileri oluştururken, etki alanı modelinize veya iş kurallarınıza göre devralma zincirindeki belirli bir dalı sınırlamak isteyebilirsiniz.
Örneğin, a Managerve PartTimeEmployeeher ikisi de Employees'dir, ancak kuruluşunuzda yarı zamanlı çalışanlardan sonra herhangi bir rolünüz yoktur. Bu durumda, PartTimeEmployeedaha fazla dallanmayı önlemek için mühürlemek isteyebilirsiniz . Öte yandan, saatlik veya haftalık yarı zamanlı çalışanlarınız varsa, onları miras almak mantıklı olabilir PartTimeEmployee.