2016-03-30 3 views
0

Я знаю разницу между различными модификаторами доступа и когда их использовать, но я остался с тем, почему. Я понимаю, что он упрощает проект, но есть ли другое использование, например. безопасность?Зачем использовать модификаторы доступа

+4

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

ответ

4

Если все было общедоступно, это значительно упростило бы обслуживание, потому что вы никогда не узнаете наверняка, может ли быть изменен/удален класс/член, потому что что-то внешнее может использовать его. Если что-то объявлено private/protected/internal, когда вы вернетесь к коду позже, чтобы внести изменения, у вас есть четкое представление о том, что можно получить к нему и как вы можете изменить, не нарушая других компонентов.

Он также уменьшает сложность внешних глаз (инкапсуляция), скрывая внутренние элементы.

0

Как видно из названия, они позволяют предоставить доступ. вы можете определить класс, защищенный или закрытый, что делает их недоступными для внешних объектов класса. таким образом, они больше касаются прав доступа, чем безопасности. Вы можете прочитать больше here

0

Все стало намного яснее в большой команде. Скажем, вы дали кому-то свой .dll, и у них нет исходного кода. Вы хотите написать много XML-комментариев с помощью «ИСПОЛЬЗОВАТЬ ЭТО БЕСПЛАТНО».

А иногда - ваш .dll - ваш конечный продукт. Вы должны избегать ошибок

Таким образом, использование дела, которые я вижу fitable:

Чтобы избежать использования внутренних методов, которые не должны быть вызваны независимо друг от друга. Если у вас есть последовательность частных методов, - которые используют общие свойства/поля, вы не хотите, чтобы кто-то их использовал и вызывал неожиданные исключения, не так ли?

Чтобы избежать путаницы со свойствами/полей, которые используются для внутренних целей

и многое другое ...

Смежные вопросы