Дом развитие Что такое закрытый класс? - определение из техопедии

Что такое закрытый класс? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает Запечатанный Класс?

Запечатанный класс в C # - это класс, который не может быть унаследован ни одним классом, но может быть создан.

Целью разработки запечатанного класса является указание на то, что этот класс является специализированным, и нет необходимости расширять его для предоставления каких-либо дополнительных функциональных возможностей посредством наследования для переопределения его поведения. Запечатанный класс часто используется для инкапсуляции логики, которая должна использоваться в программе, но без каких-либо изменений в ней.

Запечатанный класс в основном используется по соображениям безопасности, так как предотвращает непреднамеренную деривацию, из-за которой производный класс может повредить реализацию, предоставленную в запечатанном классе. Поскольку запечатанный класс не может сформировать базовый класс, вызовы к запечатанным классам немного быстрее, потому что они обеспечивают определенную оптимизацию во время выполнения, такую ​​как вызов виртуальных функций-членов в экземплярах запечатанного класса в не виртуальных вызовах. Запечатанный класс помогает в управлении версиями, не нарушая совместимость при изменении класса с запечатанного типа на незапечатанный.

Некоторые из ключевых классов в библиотеке .NET Framework разработаны как запечатанные классы, в основном для ограничения расширяемости этих классов.

Техопедия объясняет Запечатанный Класс

В отличие от структуры, которая неявно запечатана, запечатанный класс объявляется с ключевым словом, «запечатанным», чтобы предотвратить случайное наследование класса. Запечатанный класс может быть полезен, только если у него есть методы с общедоступным уровнем доступа. Запечатанный класс не может быть абстрактным классом, поскольку абстрактный класс предназначен для получения другим классом, который обеспечивает реализацию абстрактных методов и свойств.

Например, закрытый класс DatabaseHelper может быть спроектирован со свойствами и методами, которые могут обслуживать функции действий, связанных с базой данных, включая соединение с открытой и закрытой базой данных, выборку и обновление данных и т. Д. Поскольку он выполняет важные функции, которые должны не может быть изменен путем переопределения в своих производных классах, он может быть спроектирован как закрытый класс.

Запечатывание ограничивает преимущества расширяемости и предотвращает настройку типов библиотек. Следовательно, класс должен быть запечатан после тщательного взвешивания воздействия его запечатывания. Список критериев, которые следует учитывать для герметизации класса, включает в себя:
  • Класс статический
  • Класс содержит унаследованные члены, которые представляют конфиденциальную информацию
  • Класс запрашивается для получения его атрибутов через метод отражения
  • Класс наследует много виртуальных членов, которые должны быть запечатаны
Это определение было написано в контексте C #
Что такое закрытый класс? - определение из техопедии