Objektum (informatika)
Az objektum informatikai értelmezése a valóság mintájára tulajdonságokkal és viselkedésekkel felruházott egység, amit programozási szempontból tekinthetünk a hagyományos változó kibővített változatának – mintha összecsomagolva tartalmazná az érintett valóságban megjelenő tárgy számítógépes leírásához szükséges változók és alprogramok (viselkedések) összességét.
A valóságot leíró minta
szerkesztésAz objektumok használata a számítástechnikában alapvetően tekinthető egy valóságot erősen megközelítő szemlélet[1] alkalmazásának, ami a mai modern számítógépek, és a programok végrehajtási sebessége mellett hatékony munkát eredményez. Könnyen érthető programkód lehet a végeredmény, és hatékonyan lehet építkezni egy program megírása során az ilyen objektumok segítségével. Az objektumok használatával nagyon egyszerűen megvalósítható a kód újrahasznosítása is, alkalmazva az öröklődést vagy más objektumorientált megoldást.
Példa
szerkesztésObjektum a valóságból
szerkesztésEgy kémiai feladatnál objektumnak tekinthető az anyag (mint általánosan a természetben megjelenő dolog, például folyadék). Az anyag tulajdonságokkal rendelkezik (például van térfogata, halmazállapota, színe), és viselkedik az őt érő behatások során. Ő maga is ki tud váltani reakciót más objektumoktól, ha változik valamelyik tulajdonsága. Például ha a vizet, mint objektumot túlmelegített állapotban egy üveg tárolóedénybe, mint másik objektumba öntjük, akkor kiválthatja a második objektum megrepedését.). Ha a feladat megkívánja, akkor megfogalmazhatunk további objektumokat, amelyek esetleg alkotórészei a már említett objektumoknak. Részecskék a saját objektumukra jellemző viselkedéssel és tulajdonsággal, a részecskéket alkotó további kisebb részecskék szintén egyedi viselkedéssel – itt a kisebb részek viselkedése lehet hasonló, mint az elsődleges objektum viselkedése.[2]
Objektum a programban
szerkesztésAz objektumok általános használatához definiálni kell az objektum környezetét (osztályát), ez lényegében egy sablonként használható több azonos típusú objektum egyidejű használatához.
using System;
using System.IO;
using System.Text;
using System.Drawing;
class Anyag
{
public int szelesseg;
public double suly;
public Point pozicioXY = new Point(0,0);
public int pozicioZ = 0;
public Anyag() :this(0,0)
{
// konstruktor hívása 0 értékekkel
}
public Anyag(int szel, double kg)
{
// példányosítás a "new Anyag(...)" paramétereivel
this.szelesseg = szel;
this.suly = kg;
}
public void mozog(int ujX, int ujY, int ujZ)
{
// mozgás az új koordinátákra
this.pozicioXY.X = ujX;
this.pozicioXY.Y = ujY;
this.pozicioZ = ujZ;
}
}
A program felhasználási helyén példányt készítve az objektum osztályából máris használható a példány, az objektumra jellemző összes tulajdonsággal és eljárással.
static void Main(...)
{
…
Anyag x = new Anyag(12,20); // új anyag példány 20-as súllyal...
Anyag xy = new Anyag(1,50); // másik nehezebb anyag...
//x példány és xy példány már tud mozogni is
x.mozog(12,34,56);
}
Objektumok modellezése
szerkesztésA valóságos állapotoknak megfelelően megfogalmazott objektumokat át lehet ültetni programozási nyelvre, ha megfogalmaztuk a szükséges mélységű tulajdonságokat és alapvető viselkedéseket. Létezik egy jelölő nyelv (UML), ami különböző diagramok segítségével modellezi az objektumok tulajdonságait, viselkedésüket és egymáshoz fűződő kapcsolatukat.
Szkriptnyelvek
szerkesztésA legtöbb programozási nyelvben használhatóak objektumok, és az objektumorientált szemlélet. Objektumorientált technikákat lehet használni már a jelentősen megújult kliensoldali szkriptnyelvekben is, így például az Adobe Flash alkalmazások ActionScript[3] alapú nyelvében, vagy a weblapok készítéséhez közkedvelten használt JavaScript[4] programozási nyelvvel.
Objektumok az informatikában
szerkesztésNem csak a programozásban használatosak az objektumok, ez a fajta szemlélet jelen van az informatika általános területein is. Objektumokat használnak a különböző operációs rendszerek is a rendszer állapotának nyilvántartására, vagy a használatra jogosult felhasználók különböző tulajdonságainak a beállítására.[5]
Kapcsolódó szócikkek
szerkesztésIrodalom
szerkesztés- Angster Erzsébet: Az objektumorientált tervezés és programozás alapjai 1 (4KÖR Bt. 2001; ISBN 9789630062633)
- Angster Erzsébet: Az objektumorientált tervezés és programozás alapjai 2 (4KÖR Bt. 2004; ISBN 9789630062640)
- Jones L. Bradley: C# mesteri szinten 21 nap alatt (Kiskapu Kft. 2004; ISBN 9789639301733)
Jegyzetek
szerkesztés- ↑ A legtöbb objektumorientált programozással foglalkozó szakirodalom szerint teljesen új gondolkodásmódot kíván meg ez a szemlélet.
- ↑ A kisebb részecske is mozog, csak más léptékkel...
- ↑ ActionScript mintaprogramok
- ↑ Szabó Attila - Hard Core JavaScript. [2014. július 6-i dátummal az eredetiből archiválva]. (Hozzáférés: 2019. február 22.)
- ↑ Active Directory