Különbség az objektum és a példány között

Különbség az objektum és a példány között
Különbség az objektum és a példány között

Videó: Különbség az objektum és a példány között

Videó: Különbség az objektum és a példány között
Videó: Nokia N8 в 2022 году? Ретро обзор смартфона #Nokia 2024, Július
Anonim

Object kontra példány

Az objektumorientált programozás (OOP) az egyik legnépszerűbb programozási paradigma. Az OOP-ban a középpontban a megoldandó probléma valós elemekben való gondolkodása, valamint a probléma objektumok és viselkedésük szerinti ábrázolása áll. Számos, az OOP kulcsfontosságú szempontjait támogató programozási nyelv (úgynevezett OOP-nyelvek) fő programozási eszköze az osztály. Osztályalapúnak nevezik őket. Az osztályok a valós világ objektumainak absztrakt reprezentációi. Az osztályoknak attribútumoknak nevezett tulajdonságaik vannak. Az attribútumok globális és példányváltozóként valósulnak meg. Az osztályokban lévő metódusok képviselik vagy meghatározzák ezen osztályok viselkedését. Az osztályok metódusait és attribútumait az osztály tagjainak nevezzük. Nagyon leegyszerűsítve az osztály egy adott valós objektum tervrajza vagy sablonja. Tehát egy objektum a memóriablokk(ok), amelyek a szükséges információk tárolására szolgálnak ezen tervrajz szerint. A példány egy memóriablokk, amely egy objektumra hivatkozik.

Mi 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ések meghatározásának folyamata úgy, hogy az eredményül kapott objektum ténylegesen egy valós objektumot képvisel. Az objektum egy dedikált és folyamatos memóriablokk, amely információk tárolására, például változók, metódusok vagy függvények stb. tárolására szolgál. Az objektum új operátor használatával jön létre, Java programozási nyelven. Például, ha van egy Autó nevű osztály, akkor a következők használhatók az Autó osztály objektumának létrehozására.

új autó();

Itt az új operátor egy Car objektumot hoz létre, és egy hivatkozást ad vissza az objektumra. Az új kezelő az Autó osztály konstruktorával együtt az új objektum létrehozására szolgál. Az objektum élettartama a konstruktorhoz intézett hívástól a megsemmisítésig kezdődik. Ha egy objektumra nem hivatkoznak, azt a szemétgyűjtő eltávolítja/megsemmisíti.

Mi az a példány?

A példány egy memóriablokk, amely egy objektumra való hivatkozást tartalmaz. Más szavakkal, a példány megtartja annak a kezdő memóriablokknak a címét, ahol az objektum tárolva van. Valójában a példány neve használható az objektummemóriaterület elejéhez. Az induló memóriából származó eltolásokat a futásidejű motor számítja ki, így eljuthatunk oda, ahol az egyes adatok vagy metódushivatkozások tárolódnak. A következő levágott Java kód használható Car objektum példányának létrehozására.

Car myCar=új autó();

Amint fentebb említettük, az új operátor létrehozza az Autó objektumot, és visszaadja a hivatkozást. Ezt a hivatkozást a myCar Car type változó tárolja. Tehát a myCar a létrehozott Car objektum példánya.

Mi a különbség egy objektum és egy példány között?

Az objektum egy összefüggő memóriablokk, amely az objektumot a többi objektumtól megkülönböztető tényleges információt tárolja, 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 példány hivatkozhat ugyanarra az objektumra. Egy objektum és egy példány élettartama nem függ össze. Ezért egy példány nulla lehet. Miután eltávolította az összes objektumra mutató példányt, az objektum megsemmisül.

Ajánlott: