Оглавление:
Определение - Что означает защищенный?
Защищенное в C # ключевое слово, используемое для объявления доступности члена класса таким образом, что доступ к этому члену ограничен содержащим его классом, в котором он объявлен, или любым классом, производным от содержащего класса. Защищенную доступность можно использовать в объявлениях полей, методов и свойств, чтобы они не были полностью видны за пределами своего класса.
Защищенный - это модификатор доступа, который позволяет члену класса быть более видимым, чем приватный, но менее доступным. Защищенные члены базового класса могут быть общими только для их потомков, которые могут переопределять или использовать их.
Защищенный модификатор помогает реализовать концепцию инкапсуляции в C # объектно-ориентированном программировании. Он в основном используется с членами базового класса, которые повторно используются в производном классе, что помогает обеспечить централизацию общей логики наряду с богатой иерархией классов.
Техопедия объясняет Защищенный
Защищенный член может быть доступен в производном классе, только если доступ осуществляется через производный класс. Если к нему нужно получить доступ из-за пределов текста программы класса, в котором он объявлен, то это должен быть экземпляр экземпляра производного типа или созданного из него типа класса.
Например, класс BankAccount представляет данные учетной записи пользователя и может определить метод CalculateInterest как защищенный, чтобы любой класс, производный от класса BankAccount (например, SavingsAccount, CheckingAccount и т. Д.), Мог переопределить метод CalculateInterest с помощью кода, необходимого для рассчитать проценты в зависимости от типа счета.
Защищенный элемент нельзя использовать со статическим модификатором, поскольку к нему можно получить доступ только через экземпляр. Защищенный модификатор нельзя использовать с членами структуры, поскольку наследование не поддерживается структурой.
Защищенный метод может быть объявлен с помощью модификатора «virtual», чтобы расширить логику, которую необходимо выполнить для специализации в производном классе.
Это определение было написано в контексте C #




