gnsalok Ответов: 1

Можем ли мы сделать запечатанный класс частным?


Можем ли мы сделать запечатанный класс закрытым, и если мы можем это сделать, то какой в этом смысл?

Что я уже пробовал:

Можем ли мы сделать запечатанный класс закрытым, и если мы можем это сделать, то какой в этом смысл?

PIEBALDconsult

Да. Может иметь смысл как вложенный класс.

Afzaal Ahmad Zeeshan

Это ваш выбор; в первую очередь в вопросе интервью они хотели бы знать, понимаете ли вы модификаторы вообще.

1 Ответов

Рейтинг:
0

OriginalGriff

Зависит от того, что вы не можете объявить его непосредственно в пространстве имен:

namespace MyNamespace
    {
    private sealed class MySealedClass
        {
        }
    }
Вы получите сообщение об ошибке:
Elements defined in a namespace cannot be explicitly declared as private, protected, or protected internal

Но вы можете в пределах содержащего класса:
public class MyContainerClass
    {
    private sealed class MySealedClass
        {
        }
    }
И он ведет себя именно так, как вы ожидаете: класс может использоваться только внутри содержащего его класса и не может быть унаследован или иным образом расширен.


gnsalok

Здесь у меня есть вопрос, сэр, запечатанный класс не используется в качестве базового или родительского класса, А используется для предотвращения деривации, и если его больше нет в следующем классе, то почему нам нужно сделать класс закрытым?

OriginalGriff

Так что он даже не может быть замечен внешним миром, а тем более использован или получен из него.