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és]Az 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és]Objektum a valóságból
[szerkesztés]Egy 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és]Az 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és]A 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és]A 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és]Nem 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és]Irodalom
[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