Na modhnóirí rochtana a rialaíonn infheictheacht bhall an aicme, ag bhronnadh encapsulation trí a bhunlimitú cé atá in ann iad a léamh nó a ghlaoch.
Na modhnóirí rochtana a rialaíonn infheictheacht bhall an aicme, ag bhronnadh encapsulation trí a bhunlimitú cé atá in ann iad a léamh nó a ghlaoch.
| Modhóir | In-rochtana ó |
|---|
public | Áit ar bith |
protected | An aicme agus a bhfo-aicmí |
private | Laistigh de an aicme dhéanta amháin |
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;
}
}
Is é salary príobháideach agus mar sin ní féidir le cód lasmuigh ar bith é a dhemhan; is é an fáiltiú poiblí an t-aon bhfuinneog.
class Demo:
def __init__(self):
self.public = 1
self._protected = 2 # convention only ("don't touch")
self.__private = 3 # name-mangled to _Demo__private
Níl príobháideach a bhfeidhmítear ag Python — braitheann sé ar choinbhinsiúin ainmnithe. Feidhmítear modhnóirí Java/C# ag an am tiomsaithe. Tá package-private ag Java freisin (an réamhshocrú, gan eochairfhocal).
Gach rud a dhéanamh public agus encapsulation a chealú. I bhfeidhm ar an leibhéal is cuingí agus leathnú ach amháin nuair a bhíonn fíor-dhíth ann.
Is é an gréine ionstraim choncrét a iompraíonn encapsulation ó phrionsabal i riail a bhfeidhmítear an tiomsaitheoir a sheiceáil.
Ciallaíonn dromchla poiblí beag nach féidir le cód i bhfad a bheith ag brath ar intinn, ionas is féidir leat atógáil saor in aisce gan glaochaithe a bhriseadh.