Il-Modifikatur tal-Aċċess jikontrollaw il-visibilità tal-membri tal-klassi, u jenfasizzaw l-enkapsulazzjoni billi jillimitaw min jista' jaqra jew jikkallawhom.
Il-Modifikatur tal-Aċċess jikontrollaw il-visibilità tal-membri tal-klassi, u jenfasizzaw l-enkapsulazzjoni billi jillimitaw min jista' jaqra jew jikkallawhom.
| Modifikatur | Aċċessibbli minn |
|---|
public | Kulħadd |
protected | Il-klassi u s-subklassi tagħha |
private | Biss fid-dart tal-klassi li tiddikjara |
public class Employee {
private double salary; // internal — only Employee touches it
protected String department; // subclasses may use it
public String name; // open to all
public double getSalary() { // controlled, public read access
return salary;
}
}
salary huwa privat għalhekk ebda kodiċi fuq il-barra ma jistax jikkorrompih; il-getter pubbliku huwa l-unika fenestra ta' dħul.
class Demo:
def __init__(self):
self.public = 1
self._protected = 2 # convention only ("don't touch")
self.__private = 3 # name-mangled to _Demo__private
Python m'għandux privat minfurzat — jiddependi fuq il-konvenzjonijiet ta' l-ismijiet. Java/C# jinfurzaw il-modifikatur fil-ħin tal-kompilazzjoni. Java għandu wkoll package-private (defaltu, ebda kelma sħiħa).
Igħmel kollox public jwaqqgħ l-enkapsulazzjoni. Ibda bil-livell l-aktar restrittiv u wessa' biss meta tkun hemm bżonn reali.
Il-Modifikatur tal-Aċċess huma l-għodda konkreta li tbiddel l-enkapsulazzjoni minn prinċipju għal regola li l-kompilatur jinfurzaha.
Superfiċje pubblika żgħira tfisser li inqas kodiċi jista jiddependi mill-intern, għalhekk tista' tirrefactor liberalment mingħajr ma tkisser lill-imsejħin.