Sharfik писал(а): для объектов созданных на базе класса
Есть класс - это описание типа. Есть объект - это экземпляр класса.
protected - всегда виден в потомке.
private - не виден в потомке.
Если классы объявлены в одном модуле, то видно там все - это как френды у С++.
Есть несколько правил области видимости объекта, которые помогут Вам разобраться со способами доступа к объектам и наследования объектов:
1. Поля, свойства и методы секции public не имеют ограничений на видимость.
2. Поля, свойства и методы секции private, доступны только в методах класса и в функциях, объявленных в том же модуле, где и класс.
3. Поля, свойства и методы секции protected тоже доступны только из методов класса и функций, объявленных в модуле, но они доступны в классах, являющихся потомками, в том числе и объявленных в других модулях.
При описании потомков, Вы можете изменять область видимости методов и свойств. Можно расширять область видимости, но не сужать. Т.е. если есть свойство в секции private, вы можете сделать его public, но не наоборот.