Java'da, yöntemler için kullanılabilir dört erişim değiştirici vardır:
public
- herhangi bir sınıf bu yöntemi kullanabilir.
protected
- aynı paketteki sınıflar ve herhangi bir paketteki alt sınıflar bu yöntemi kullanabilir.
private
- yalnızca bu sınıf bu yöntemi kullanabilir.
no modifier
("package private") - yalnızca aynı paketteki sınıflar bu yöntemi kullanabilir.
Sık sık olan şey, bir alt sınıfta tüm alt sınıfların kullanabileceği yararlı yöntemlere sahip olmak istiyorum. Ancak diğer sınıfların bu yönteme erişmesi anlamlı olmaz ve bir anlamda kapsüllemeyi bozar.
Ben üst sınıfta bu yararlı yöntemler beyan etmek zorunda Yani public
ya protected
pakette en azından tüm diğer sınıfların önlerine çıkarıyor. Sadece alt sınıflar tarafından kullanılması amaçlansa da.
subclasses-only
Java'da erişim değiştirici olmamasının bir nedeni var mı? Bana çok tuhaf geliyor. Bir şey mi kaçırıyorum?
Ayrıca, subclasses-only
değişkenleri yalnızca alt sınıflara göstermek istediğinizde bir erişim değiştirici de yararlı olacaktır. Hangisi çok oluyor.