Miért szokás a tagváltozókat privátként deklarálni?
hogy csak a tagfüggvényekkel lehessen módosítani őket
ez amolyan biztonsági intézkedés (úgy értem saját magad ellen, de inkább akkor van jelentősége, ha több ember dolgozik rajta)
Az objektumorientált programozási paradigma ezt követeli meg. Alapelv az adatok és a rajtuk értelmeztet műveletek egységbezárása, információ elrejtés ...
Ha van egy osztály akkor az a lényeg hogy mit csinál, az részletkérdés hogy hogyan.
Gyakran van olyan hogy egy tagváltozó értékének felülírása előtt és/vagy után más tagváltozó(k)at is ellenőrizni kell vagy épp felülírni vagy esetleg valamilyen eljárást futtatni. Nehézkesebb lenne a tagváltozó minden módosításakor erre figyelni, célszerűbb külön gettereket settereket használni. Meg mondjuk az osztály bővítésekkor megváltoztak a tagváltozók értékeinek felülírási szabályai, akkor 5000 helyen ahol használjuk akkor ki kéne javítani mindenhol vagy egyszerűen csak kiderül később hogy nem jól gondoltuk, akkor csak egy helyen kell kijavítani és mindenütt megjavul, meg könnyebb ellenőrizni hiszen minden kérés egy helyre (setter) fut be. Az osztályon belső implementációját (ezáltal akár a tagváltozók nevét és számát) egy jobbra kicserélőhetük ami lényegébe ugyan azt csinálja csak mondjuk kevesebb memóriát használ és/vagy gyorsabb futási idejű, ezt a nélkül megtehetük hogy az osztályon kívüli kódrészhez egyáltalán hozzányúltunk, mivel ugyan azon az interface-n keresztül érjük el.
A tagváltozók az objektum belső állapotát tárolja. Ezek közvetlen elérése módosítása adatintegritási hibákhoz vezethet, ezért is szokták jól kontrollált módon settereken keresztül módosítani.
de szép is a nyelv..
tulajdonképpen ugyanazt írtuk le :DDDDDDD
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!