In C#, the protected
keyword is an access modifier used to control the visibility of class members (fields, properties, and methods) within the class hierarchy. When a member is marked as protected
, it can be accessed within the defining class and its derived classes but is not accessible from outside the class hierarchy.
Usage of the protected
keyword:
public class ParentClass
{
protected int ProtectedField;
protected void ProtectedMethod()
{
// Method implementation.
}
}
public class ChildClass : ParentClass
{
public void SomeMethod()
{
// Accessing the protected member from the derived class.
ProtectedField = 10;
ProtectedMethod();
}
}
In this example, the ProtectedField
and ProtectedMethod
in the ParentClass
are marked as protected
, making them accessible within the ParentClass
and any classes derived from it, such as the ChildClass
.
protected
:Members marked as protected
can be accessed only within the class that defines them (ParentClass
) and its derived classes (ChildClass
). They are not accessible from other unrelated classes.
The protected
keyword is often used to provide controlled access to class members that should be used and overridden by derived classes, while still preventing direct access from outside the class hierarchy.
In C#, the protected
modifier is not applicable to top-level classes. It can only be used with class members within a class declaration.
Using the protected
keyword is crucial for creating well-designed class hierarchies, promoting code reusability, and allowing derived classes to access and customize the behavior of base class members.