Некоторые причины, по которым при разработке библиотек стоит использовать модификатор доступа protected вместо public:
- Ограничение доступа. 24 Protected позволяет членам класса быть доступными внутри самого класса и его производных классов, но недоступными вне этих классов. 4 Это полезно, когда нужно предоставить доступ к данным для производных классов, но ограничить доступ для внешних объектов. 4
- Создание базовых характеристик и функциональности. 2 Protected может быть полезен, когда нужно создать базовые характеристики, которые будут использовать другие классы, если они являются производными от этого типа. 2
- Расширение функциональности. 3 Некоторые библиотеки с открытым исходным кодом используют защищённые модификаторы. 3 Это помогает пользователям расширять функциональность библиотеки и предоставлять изменённую библиотеку сообществу для использования. 3
Таким образом, использование protected модификатора доступа может быть предпочтительнее public, когда необходимо ограничить доступ к данным и создать базовые характеристики для других классов.