Különbségek a kapszulák, az egyik oldalon beállított és az osztály mezők használatában

Melyek a különbségek, amikor a másik oldalról, az egyik oldalon beállítókat és az osztály mezőket használunk.

Ez a kérdés nem volt tapasztalatom, de számomra úgy tűnik, hogy ez valóságos és érdekes. Tehát felvette és felülvizsgálta a funkcionalitás szempontjából.

Tegyük fel, hogy egy get -ter egy egyszerű extrakció, és egy setterben - az értékek egyszerű hozzárendelése a megfelelő mezőhöz, és mindkét eljárásnak ugyanaz a hozzáférési módosítója, mint a mező. majd:

1. Ha mindkét módszer és a mező statikus: akkor nincs különbség a használat során: 2. Ha mindkét módszer és a mező nem statikus: Ezután:
a. Ha az osztály nem rendelkezik alosztályokkal, akkor nincs különbség a használat során.
b. Ha egy osztály (azt nevezzük, hogy egy szuperklassz) van egy alosztály, vannak különbségek a használat.
Amikor közvetlenül elér egy osztály egy példányának mezőjét, akkor elérheti az osztályszintű mezőt, miközben az osztálypéldány módját elérve az alacsonyabb szintű metódust a mező értékében lévő megfelelő változással hívja le.
Tegyük fel, hogy egy superclass típusú változó az alosztály egyik példányára utal: Ezután a szupersztály mezőbe történő hívás nem változtatja meg az alosztály mező értékét. Ha a fenti példa helyett "..." helyett a kódot, akkor a kimeneti sorban a következőket kapjuk:

Ha tetszett a kérdés, szavazz rá

alexanderitomy rodionovsasha T1bald saha0074 nikita88pkr igor2265 mf15 TamTam svent0vit BOKOV homesandbox szambákkal Bellatrix Ronny147 user04 Assasin92 Almesa iCleveret SamTan AlexVovolka Arch0n alext64 Ruzveld publo belict dcba1257908 olyanca Akula omark Micahel stasico Bawarez xpusha