1. java bevezető




Download 1.08 Mb.
bet3/51
Sana07.04.2017
Hajmi1.08 Mb.
#3295
1   2   3   4   5   6   7   8   9   ...   51

2.1. Elmélet


Az objektum alapú programozás közelebb hozta egymáshoz a programnyelv és a való élet fogalmait, így OOP alapon egyszerűbb és átláthatóbb programok születhetnek, amelyek karbantartása is egyszerűbb lehetha a programban használt fogalmak megközelítőleg fedik a valóságot. A jól megírt OOP szemléletű program a valóságot próbálja modellezni, ehhez több fogalmat is tisztázni kell.

Az egyik legfontosabb fogalom maga az objektum, egy-egy objektum a való élet egy-egy részét modellezi a programunkban: egy objektum lehet például egy üveg, egy kis sör vagy egy pohár. Minden objektumnak van állapota, vannak lehetséges műveletei és képes más objektumokkal együttműködni. Ez azt jelenti, hogy egy üveg sört ki tudunk nyitni, ezzel a "zárt" és "teli" állapotát a "nyitás" művelettel"nyitott" és "teli" állapotba hozni. Ha fogunk egy üres poharat, amelybe beletöltjük a nyitott üveg tartalmát, akkor a "kitöltés" művelet eredménye egy "teli" pohár illetve egy "üres" és "nyitott" sörösüveg. Természetesen a sörrel teli poharat az "ivás" művelettel üzemszerű módon tudjuk használni... :)

Ha kerítünk egy újabb üveg sört, akkor az már egy új objektum, de észre kell vennünk a két üveg sör közötti hasonlóságot. Ha szólunk a csinos pincércsajnak, hogy még egy üveg sört szeretnénk, akkor szinte biztosak lehetünk benne, hogy nem egy üveg bambit fog hozni. Ehhez mindkettőnknek tisztában kell lennünk az üveg sör fogalom jelentésével: a való életben a feltűnő hasonlóságok mentén - jobban mondva a közös jellemzők alapján - osztályokba tudjuk sorolni az objektumokat, egy-egy szavunk a dolgok egy-egy osztályát írja le. Az osztály határozza meg, hogy egy objektum milyen állapotokat vehet fel, milyen műveleteket lehet végezni vele, és milyen kölcsönhatások képzelhetők el más objektumokkal kapcsolatban. Az osztály neve egyedi kell legyen abban a környezetben, ahol hivatkozunk rá, ám fel kell készülnünk arra, hogy egy adott név másik környezetben mást jelent.

Mint mindent, a Java nyelv osztályait is példákon át ismerhetjük meg legjobban, ezért vegyük példának egy kocsma absztakcióját, hiszen oda mindenki naponta időnként eljár – tehát a továbbiakban egy kocsmát fogunk meglátogatni absztrahálni.



Nézzünk körül egy kocsmában, mit is látunk: alapvetően vannak dolgok. Ez egy igen magas absztrakciós szint, mivel teljesen elvonatkoztattunk attól, hogy a dolgok sörök, borok, zsíroskenyerek, üvegek, korsók, illetve poharak is lehetnek. Egy ilyen absztakció során az három dolgot kell megfigyelnünk a dologosztályba sorolt dolgokról:

  • milyen számunkra lényeges tulajdonságai vannak a dolgoknak

  • milyen számunkra lényeges műveleteket végezhetünk a dolgokon

  • milyen számunkra lényeges kölcsönhatások lehetnek a dolgok között

számunkra lényeges azért van kiemelve, mivel ez az absztrakció lényege: csak azon tulajdonságokkalkell foglalkozunk, amelyek segítenek egymástól megkülönböztetni az osztályba sorolt különféle dolgokat, a többit figyelmen kívül kell hagynunk. Nézzünk újfent körül a kocsmában, és szedjük össze a dolgok közös-de-megkülönböztető jellemzőit. Az osztályt úgy célszerű elnevezznünk, hogy a neve a fogalmakat vagy a tárgyakat egy-két szóban jellemezze, és lehetőleg ne használjunk többes számot. Mivel a leírásnak minden egyes dologra illenie kell a kocsmában, ezért az osztály neve az lesz, hogy Dolog.

Download 1.08 Mb.
1   2   3   4   5   6   7   8   9   ...   51




Download 1.08 Mb.