Private Members and Inheritance
Normally, a subclass cannot directly access private members declared by its parent class. Private members belong to the declaring class's encapsulation boundary. The subclass can interact with that state indirectly through protected or public methods or properties exposed by the parent. This restriction is intentional because it prevents derived classes from becoming coupled to the internal representation of the base class.
Private members are directly accessible only within their declaring class under normal access rules.
A subclass can access exposed public or protected members.
Encapsulation is preserved by preventing direct access to private state.
Protected members should also be used carefully because they expose implementation details to subclasses.
Prefer behavior-oriented methods over exposing internal state.