Поделиться через


Незапечатанные классы

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

Рекомендуется использовать незапечатанные классы без виртуальных и защищенных членов в качестве оптимального средства недорогого, но очень полезного расширения платформы .NET Framework.

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

Фрагменты — © Корпорация Майкрософт (Microsoft Corp.), 2005. Все права защищены.

Фрагменты — © Addison-Wesley Corporation. Все права защищены.

Для дополнительной информации о разработке руководящих принципов, смотрите "руководства по разработке рамок: Конвенций, идиомы и шаблоны для повторного использования.NET библиотек"книга, Кшиштоф Cwalina и Брэд Абрамс, опубликованных Addison-Wesley, 2005 года.

См. также

Основные понятия

Ограничение расширяемости путем запечатывания классов

Другие ресурсы

Руководство по разработке библиотек классов

Разработка с обеспечением расширяемости