Az objektum a programozásban egy entitás a digitális térben, amelynek állapota és viselkedése, mezői és metódusai vannak . Az objektumok figyelembevételekor általában hangsúlyozzák, hogy az objektumok egy vagy több olyan osztályhoz tartoznak, amelyek meghatározzák az objektum viselkedését ( modellek ). Az " osztálypéldány " és az "objektum" kifejezések felcserélhetően használatosak [1] . Analógia: tárgy az, amit egy rajz szerint csináltak, az osztály pedig egy rajz.
Az objektum az osztály fogalmával együtt fontos fogalom az objektumorientált megközelítésben . Az objektumok az öröklődés , a tokozás és a polimorfizmus tulajdonságaival rendelkeznek [2] .
Az objektum szoftverben kifejezést először a Simula nyelvben vezették be, és a valóság modellezésére használták [1] .
Egy osztály példánya egy adott objektum leírása a memóriában. Az osztály leírja azokat a mezőket és metódusokat , amelyek elérhetőek lesznek az osztályban lefektetett leírás szerint épített objektumhoz. A példányok konkrét entitások ábrázolására (modellezésére) szolgálnak a valós világban. Például egy mosógép osztály példánya lehet az Ön mosógépe, amely a következő tulajdonságokkal rendelkezik: gyártó cég Vyatka, modell neve Vyatka-automatic , termék sorozatszáma VYAT454647, űrtartalom 20 liter. Az osztálynévvel ellentétben a példánynév általában kisbetűvel kezdődik.
A példányosítás egy osztály példányának létrehozása . A "teremtés" szóval ellentétben nem egy objektumra, hanem egy osztályra vonatkozik. Vagyis azt mondják: (virtuális környezetben) hozzon létre egy osztály példányát , vagy más szóval példányosítson egy osztályt . A létrehozási sablonok polimorf példányosítást használnak .
Az anonim objektum olyan objektum, amely valamilyen osztályhoz tartozik, de nincs neve.
Inicializálás ( angol inicializálás ) - kezdeti értékek hozzárendelése az objektum mezőihez.
Egy tárgy élettartama az az idő, amely a tárgy létrehozásától (megépítésétől) a megsemmisüléséig (megsemmisüléséig) tart.
A prototípus-orientált nyelvek, például a Lua és a JavaScript kivételével , ahol az "osztály" fogalmát egyáltalán nem használják, a legtöbb objektum-orientált programozási nyelvben (például Java , C++ vagy C# ) az objektumok példányok. valamelyik előre meghatározott osztályból .
Az ilyen nyelveken az objektumok az osztálykonstruktor segítségével jönnek létre, és megsemmisítésre kerülnek vagy az osztálydestruktor segítségével (például C++- ban ), vagy automatikusan a szemétgyűjtő használatával - például Java és C# nyelven (a C# támogatja a destruktorokat, de ezek az ún. a szemétgyűjtő által), vagy belső objektum- és üzenethivatkozás-számláló használatával ("dealloc" az Objective-C- ben ). Egy objektum minden mezőjének adataként , valamint osztályának virtuális metódustáblájára és RTTI -re való hivatkozásként kerül tárolásra. Az osztály függvények és szolgáltatási információk halmazát határozza meg egy objektum felépítéséhez, beleértve az objektum tárolásához szükséges memóriamennyiséget.
A Pythonban minden érték objektum, még osztályok is. Ezen a nyelven létrehozhat egy osztályt, amely osztályok példányai lesznek. Az ilyen osztályokat metaosztályoknak nevezzük .
Példa egy új objektum létrehozására és a vele való munkára a Java programozási nyelven :
// Létrehozunk egy példányt az ArrayList osztályból list néven ArrayList list = new ArrayList (); // Az Integer osztály példányainak hozzáadása a listaobjektum listához . add ( new Integer ( 1 )); lista . add ( new Integer ( 2 )); lista . add ( new Integer ( 3 ));Feltételezzük, hogy az osztály ArrayListmár le van írva a programkódban, és leírása tartalmazza az osztálykonstruktor és metódus definícióját add.
Adattípusok | |
---|---|
Értelmezhetetlen | |
Numerikus | |
Szöveg | |
Referencia | |
Összetett | |
absztrakt | |
Egyéb | |
Kapcsolódó témák |