Objektum vs példány
Az objektumorientált programozás (OOP) az egyik legnépszerűbb programozási paradigma. Az OOP-ban a hangsúly a megoldandó probléma elgondolására összpontosul a valós elemek szempontjából, és a probléma megjelenítése tárgyak és viselkedésük szempontjából. Számos programozási nyelv, amely támogatja az OOP kulcsfontosságú elemeit (az úgynevezett OOP nyelveket), az osztály a fő programozási eszköz. Osztályalapúnak hívják őket. Az osztályok a valós objektumok elvont ábrázolása. Az osztályoknak vannak tulajdonságai, amelyeket attribútumoknak nevezünk. Az attribútumok globális és példányváltozóként valósulnak meg. Az osztályokban alkalmazott módszerek képviselik vagy meghatározzák ezen osztályok viselkedését. Az osztályok módszereit és attribútumait az osztály tagjainak nevezzük. Nagyon leegyszerűsítve az osztály egy adott valós objektum tervrajza vagy sablonja. Így,egy objektum az a memóriablokk (ok), amelyet (ek) használnak a szükséges információk tárolásához a terv alapján. A példány egy memóriablokk, amely objektumra hivatkozik.
Mi az az objektum?
Az objektumok egy osztály példányosításának eredményei. A példányosítás a terv elkészítésének és az egyes attribútumok és viselkedés definiálásának folyamata, hogy az eredő objektum valójában egy valós objektumot képviseljen. Az Object egy dedikált és folyamatos memóriablokk, amely olyan információk tárolására van kiosztva, mint változók, módszerek vagy függvények, stb. Az objektum új operátor használatával jön létre Java programozási nyelven. Például, ha létezik egy autó nevű osztály, akkor a következők segítségével létrehozhatunk egy autó osztály objektumot.
új autó();
Itt egy Car objektumot hoz létre az új operátor, és az objektumra való hivatkozás visszatér. Az új objektum létrehozásához az új operátort és a Car osztály konstruktorát használják. Az objektum élettartama a konstruktortól kapott hívástól kezdve a megsemmisítésig kezdődik. Amint egy objektumot nem utalnak, a szemétgyűjtő eltávolítja / megsemmisíti.
Mi az a példány?
A példány egy memóriablokk, amely az objektumra való hivatkozást tartalmazza. Más szavakkal, az példány megtartja annak a kezdő memóriablokknak a címét, ahol az objektum van tárolva. Valójában a példány neve felhasználható az objektum memóriaterületének elindításához. A kezdő memóriából származó eltolásokat a futásidejű motor kiszámolja, hogy oda tudjunk menni, ahol az egyes adatok vagy módszer referenciák vannak tárolva. A kivágott Java kódot felhasználva létrehozható egy autó objektum példánya.
Autó myCar = új autó ();
Mint fent említettük, az új kezelő létrehozza a Car objektumot, és visszaadja a hivatkozást. Ezt a referenciát a myCar autó típusú változó tárolja. Tehát a myCar a létrehozott Car objektum.
Mi a különbség egy objektum és egy példány között?
Az Object egy összefüggő memóriablokk, amely az aktuális információkat tárolja, amelyek megkülönböztetik ezt az objektumot a többi objektumtól, míg a példány egy objektumra való hivatkozás. Ez egy memóriablokk, amely az objektum tárolási helyének bámulási címére mutat. Két eset utalhat ugyanarra az objektumra. Egy objektum és egy példány élettartama nem függ össze. Ezért egy példány null lehet. Miután minden objektumra mutató példány eltávolításra került, az objektum megsemmisül.