Egy osztály tagjaihoz való hozzáférés ellenőrzése

Egy osztály tagjaihoz való hozzáférés ellenőrzése

hozzáférési szint módosítók meghatározzák, hogy más osztályok használhatnak-e egy adott mezőt, vagy hivatkozhatnak egy adott módszerre. A hozzáférés-vezérlésnek két szintje van:

  • a felső szinten – public vagy csomag-privát (nincs explicit módosító).
  • tag szinten – public, private, protected vagy csomag-privát (nincs explicit módosító).,

egy osztály deklarálható a public módosítóval, ebben az esetben ez az osztály minden osztály számára látható. Ha egy osztálynak nincs módosítója (az alapértelmezett, más néven csomag-privát), akkor csak a saját csomagján belül látható (a csomagok a kapcsolódó osztályok csoportjai — egy későbbi leckében megtudhatja őket.)

tag szinten apublic módosítót vagy nem módosítót (csomag-privát) is használhatja, ugyanúgy, mint a felső szintű osztályoknál, ugyanolyan jelentéssel., A tagoknak két további hozzáférési módosítójuk van: privateés protected. A private módosító meghatározza, hogy a tag csak a saját osztályában érhető el. A protected módosító meghatározza, hogy a tag csak a saját csomagjában érhető el (mint a package-private esetében), továbbá az osztály egy alosztálya egy másik csomagban.

az alábbi táblázat az egyes módosítók által engedélyezett tagokhoz való hozzáférést mutatja.,Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N private Y N N N

The first data column indicates whether the class itself has access to the member defined by the access level., Mint látható, egy osztály mindig hozzáférhet a saját tagjai. A második oszlop azt jelzi, hogy az osztályhoz tartozó osztályok (függetlenül a szülőktől) hozzáférhetnek-e a taghoz. A harmadik oszlop azt jelzi, hogy a csomagon kívül deklarált osztály alosztályai hozzáférhetnek-e a taghoz. A negyedik oszlop azt jelzi, hogy minden osztály hozzáfér-e a taghoz.

A hozzáférési szintek kétféle módon befolyásolják Önt., Először is, amikor egy másik forrásból származó osztályokat használ, például a Java platform osztályait, a hozzáférési szintek határozzák meg, hogy a saját osztályai mely osztályokat használhatják. Másodszor, amikor egy osztályt írsz, el kell döntened, hogy milyen hozzáférési szinttel kell rendelkeznie minden tagváltozónak és az osztályod minden metódusának.

nézzük meg az osztályok gyűjteményét, és nézzük meg, hogy a hozzáférési szintek hogyan befolyásolják a láthatóságot. Az alábbi ábra a példában szereplő négy osztályt mutatja, valamint azt, hogy ezek hogyan kapcsolódnak egymáshoz.,

a hozzáférési szintek

szemléltetésére használt példa osztályai és csomagjai a következő táblázat azt mutatja, hogy az Alfa osztály tagjai hol láthatók a hozzájuk alkalmazható hozzáférési módosítók mindegyikén.,ha Beta Alphasub Gamma public Y Y Y Y protected Y Y Y N no modifier Y Y N N private Y N N N

Tips on Choosing an Access Level:

If other programmers use your class, you want to ensure that errors from misuse cannot happen., A hozzáférési szintek segíthetnek ebben.

  • használja a legszigorúbb hozzáférési szintet, amelynek van értelme egy adott tag számára. Használja a private – ot, hacsak nincs jó oka arra, hogy ne.
  • kerülje a public mezőket az állandók kivételével. (A bemutató számos példája nyilvános mezőket használ. Ez segíthet, hogy bemutassa néhány pontot tömören, de nem ajánlott termelési kód.) A nyilvános mezők általában egy adott implementációhoz kapcsolnak, és korlátozzák a kód módosításának rugalmasságát.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük