Позначення класу як Sealed запобігання фальсифікації важливих класів, що може порушити безпеку або вплинути на продуктивність.
Багато разів герметизація класу також має сенс, коли розробляється клас корисності з фіксованою поведінкою, яку ми не хочемо змінювати.
Наприклад, Systemпростір імен у C#надає багато класів, які запечатані, наприклад String. Якби не запечатано, можна було б розширити його функціональність, що може бути небажаним, оскільки це основний тип із заданою функціональністю.
Точно так само structuresв Росії C#завжди неявно запечатуються. Отже, не можна вивести одну структуру / клас з іншої структури. Причина цього полягає в тому structures, що вони використовуються для моделювання лише окремих, атомних, визначених користувачем типів даних, які ми не хочемо змінювати.
Іноді, коли ви будуєте ієрархію класів, вам може знадобитися обмежити певну гілку в ланцюжку успадкування на основі вашої моделі домену або бізнес-правил.
Наприклад, a Managerта PartTimeEmployeeобоє Employees, але ви не виконуєте жодної ролі після роботи за сумісництвом у вашій організації. У цьому випадку вам може знадобитися пломба, PartTimeEmployeeщоб запобігти подальшому розгалуженню. З іншого боку, якщо у вас є погодинні або щотижневі працівники, що працюють за сумісництвом, може мати сенс успадкувати їх PartTimeEmployee.