programozÁsmÓdszertan ii -...

19
PROGRAMOZÁSMÓDSZERTAN II PROGRAMOZÁSMÓDSZERTAN II A programozás természetesen ugyan úgy fejlődik mint az informatika egyéb területei. Az új hardver és szoftver elemek maguk után vonták a programozás és a programozási nyelvek fejlődését. A grafikus rendszerek megjelenésével a programoknak is grafikusan kellett működni. Az ablakkezelés, több processzoros rendszerek és a multitaszk megjelenése mind-mind hatással volt a programozási nyelvekre. A strukturált programozást lassan kezdte felváltani az objektum orientált. Az objektum orientált programozási módszertan alapgondolata, hogy az adat és a funkcionális modell egymástól elválaszthatatlan. Gyakorlatilag ez az OOP rendszerek alapja. Mindent erre építünk fel és ebből származtatunk. MUNKAHELYZET- ESETFELVETÉS OBJEKTUMORIENTÁLT PROGRAMOZÁS Az objektum orientált programozás (OOP) gyakorlatilag egy teljesen új szemléletmódot követel a programok megvalósításának tekintetében. Amíg egy strukturált rendszerben egymásra épülő, sorban lefutó algoritmusokkal valósítottuk meg egy probléma megoldását, addig itt úgynevezett objektumok segítségével kell mindezt megtennünk. Nem a programrészek megírása a fő cél, hanem az objektumok hierarchiája és kapcsolata áll a középpontban. Ennek a rendszernek a pontos megtervezése és megvalósítása adja a feladat megoldását. Maga az objektum egy elég absztrakt fogalomként értelmezhető. Rendelkezik különböző tulajdonságokkal, amiket többféleképpen használhatunk. Maga a programozás elve a valós világ lemodellezésén alapult. Olyan tulajdonságokat próbáltak megvalósítani benne, amik a természetben már beváltak. Ha objektumokról beszélünk, először az osztályok felépítését kell megvizsgálni, ugyanis minden objektum egy előre definiált osztály példánya. Egy osztályban általában egy feladat elvégzéséhez szükséges kódrészleteket gyűjtik össze. Egy osztályt létrehozása után példányosítani kell, hogy használhatóvá váljanak a benne található algoritmusok. Az osztály egy példányát nevezzük objektumnak. Programozási nyelvtől függő dolog, de a legtöbb esetben a class szóval definiáljuk az osztályokat. Egy osztály csak függvényeket és változókat tartalmazhat. Az osztályok definiálására egy példa: 1

Upload: others

Post on 24-Oct-2019

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

PROGRAMOZÁSMÓDSZERTAN II

A programozás természetesen ugyan úgy fejlődik mint az informatika egyéb területei. Az új hardver és szoftver elemek maguk után vonták a programozás és a programozási nyelvek fejlődését. A grafikus rendszerek megjelenésével a programoknak is grafikusan kellett működni. Az ablakkezelés, több processzoros rendszerek és a multitaszk megjelenése mind-mind hatással volt a programozási nyelvekre.

A strukturált programozást lassan kezdte felváltani az objektum orientált. Az objektum orientált programozási módszertan alapgondolata, hogy az adat és a funkcionális modell egymástól elválaszthatatlan. Gyakorlatilag ez az OOP rendszerek alapja. Mindent erre építünk fel és ebből származtatunk.

MUNKAHELYZET- ESETFELVETÉS

OBJEKTUMORIENTÁLT PROGRAMOZÁS

Az objektum orientált programozás (OOP) gyakorlatilag egy teljesen új szemléletmódot követel a programok megvalósításának tekintetében. Amíg egy strukturált rendszerben egymásra épülő, sorban lefutó algoritmusokkal valósítottuk meg egy probléma megoldását, addig itt úgynevezett objektumok segítségével kell mindezt megtennünk. Nem a programrészek megírása a fő cél, hanem az objektumok hierarchiája és kapcsolata áll a középpontban. Ennek a rendszernek a pontos megtervezése és megvalósítása adja a feladat megoldását.

Maga az objektum egy elég absztrakt fogalomként értelmezhető. Rendelkezik különböző tulajdonságokkal, amiket többféleképpen használhatunk. Maga a programozás elve a valós világ lemodellezésén alapult. Olyan tulajdonságokat próbáltak megvalósítani benne, amik a természetben már beváltak.

Ha objektumokról beszélünk, először az osztályok felépítését kell megvizsgálni, ugyanis minden objektum egy előre definiált osztály példánya. Egy osztályban általában egy feladat elvégzéséhez szükséges kódrészleteket gyűjtik össze. Egy osztályt létrehozása után példányosítani kell, hogy használhatóvá váljanak a benne található algoritmusok. Az osztály egy példányát nevezzük objektumnak.

Programozási nyelvtől függő dolog, de a legtöbb esetben a class szóval definiáljuk az osztályokat. Egy osztály csak függvényeket és változókat tartalmazhat. Az osztályok definiálására egy példa:

1

Page 2: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

Class Alap {}

Ebben az esetben az osztály neve „Alap” lesz. A benne található függvényeket és változókat külön kell definiálnunk, meghatározva a hatókörüket is. Ezeket a függvényeket és változókat csak az osztályon keresztül tudjuk elérni a programokban. Ezeket ezért metódusoknak is szokás nevezni.

Vannak nyelvek, amik megengedik példányosítás nélkül is meghívni a metódusokat, de ekkor a hívásnál hivatkozni kell az osztály nevére is!

Egy osztály definiálása a következő példán keresztül tanulmányozható:

class Alap { public: Alap() { this->msg = "Helló, világ!";} private: std::string msg;};

Gyakorlatilag a Helló világ típusú programokon keresztül szokás bemutatni a programozási nyelvek többségét. Ha definiálva van egy osztályunk, akkor lényeges a konstruktor szerepe. Ennek a feladata futás folyamán a megfelelő objektum létrehozása. Egy osztályban több konstruktor is szerepelhet. A fenti példánk gyakorlatilag egy ilyen konstruktor bemutatása volt. Abban az esetben, ha már nincs szükségünk a létrehozott osztályunkra, egy destruktor függvénnyel felszabadíthatjuk a memóriát tőle. Egy osztálynak több konstruktora is lehet, de mindig csak egy destruktorral rendelkezhet. A létrehozás után nagyon fontos lépés a példányosítás. Gyakorlatilag ekkor keltjük életre a megfelelő metódusokat, amik ténylegesen el is végzik a feladatukat a programban. Alap* obj = new Alap();

Az OOP rendszerek három fő tulajdonsággal rendelkeznek:

1. Öröklődés

2. Zártság

3. Többrétűség

Ezek a tulajdonságok adják a gerincét minden OOP rendszernek. Most vizsgájuk meg részletesebben mit is jelentenek!

1. Öröklődés

Az objektumok sok esetben rendelkeznek olyan tulajdonságokkal, amit a program során sokszor fel tudunk használni. A régi rendszerekben ezeket az algoritmusokat többször meg kellett írni, vagy pedig olyan eljárásba helyezni, ami meghívható volt a kívánt helyről. Az objektumoknál elég egyszer megírni, és a következő objektumok örökölhetik az elődeik tulajdonságai által.

2

Page 3: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

Az öröklődés gyakorlatilag egy meglévő osztály továbbfejlesztése. A meglévő osztály neve ősosztály, a továbbfejlesztetté pedig utódosztály. Az öröklés tranzitív tulajdonság. Egy öröklési lánc legfelső osztálya az alaposztály. Az adatok csak örökölhetők, a metódusok felül is írhatók.

Egyszeres öröklés: Egy osztálynak legfeljebb egy őse lehet.

Többszörös öröklés: Egy osztálynak több őse is lehet.

Öröklés jelölése (osztályhierarchia diagram):

ŐsOsztály UtódOsztály2

Mezők

Metódusok

Mezők

Metódusok

UtódOsztály1

Mezők

Metódusok

Az öröklődés hatalmas előnye, hogy leegyszerűsíti a gyakran használatos függvények és változók alkalmazását. Ha egy ősosztályban szereplő metódusra van szükségünk, akkor egyszerűen meghívhatjuk azt. Problémát jelenthet, ha olyan függvényt szeretnénk meghívni, amelyik nem az osztály ősében szerepel. Ekkor egy egyszerű példányosítással ez is megoldható, de ebben az esetben figyelni kell arra, nehogy a nevek miatt esetleg ütközések alakulhatnak ki a programban!

Nézzünk egy példát az öröklődésre:

class Alap { public: Alap(){ }; void f(){ }; }; class Derived : public Alap { public: Derived(){ }; }; Derived* der = new Derived(); der->f();

A fenti példában a Delivered osztály örökölte az f függvényt, ami az Alap osztályban lett definiálva. Ha a Delivered osztályból is származtatnánk egy új osztályt, akkor az ugyancsak örökölhetné tovább az f függvényt.

2. Zártság

Az OOP nyelvek legkényesebb fogalma: általában e fogalom mentén válnak el az iskolák, attól függően, hogy melyik mit vall róla. Az eljárás orientált nyelvek hatáskör fogalmának, a láthatóságnak a kiterjesztése a legtöbbször félreértelmezett fogalom. Nem objektumhoz kapcsolódik.

3

Page 4: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

− Bezárás_1: Nem objektumhoz kötődik. Az osztály egy absztrakt adattípus. Az osztály rendelkezik egy interfész és implementációs résszel. Az osztály objektumaihoz csak az interfész részen keresztül férhetünk hozzá, az implementációhoz egyáltalán nem, korlátozott hozáférést jelent. Ez az információrejtés elve (Information hiding). Egy osztály objektumai egy az osztály által definiált interfészen keresztül érhetők el, és csak így! A nyelv a benne definiált attributumokat és metódusokat két részre osztja:

− Nyilvános rész: amelybe tartozó eszközöket minden kliens osztály lát. − Privát rész: kívülről nem látható.

− Bezárás_2: A bezárás eljárás orientált nyelvek hatáskör fogalmának általánosítása OOP körökben, ahol garantáltan létezik egy olyan eszközrendszer, mellyel a programozó tudja szabályozni, hogy az osztályból mi látható és kinek a számára.

3. Többrétűség

− Objektum polimorfizmus: Minden objektum tudja saját magáról, hogy melyik osztály példányaként jött létre. Egy objektum objektuma saját osztályának, de az öröklődési hierarchiában objektuma valamennyi elődosztálynak is egyben. Így minden egyes objektum szerepelhet minden olyan szituációban, ahol az ősosztály objektuma szerepelhet, nem csak a saját osztálya példányaként használható.

− Módszerpolimorfizmus (overriding): − Egy leszármazott osztály egy örökölt módszert újraimplementálhat: a módszer

specifikációja változatlan marad, de az implementáció más lehet az öröklődési vonalon.

_________________________________________________________________________________________

SZAKMAI INFORMÁCIÓTARTALOM

OBJEKTUM ORIENTÁLT PROGRAMOZÁS NÉHÁNY PÉLDÁN ÁT

A következő részben a DELPHI nyelv segítségével mutatom be az OOP rejtelmeit. A Delphit szokták Objeckt Pascal-nak is nevezni, mivel a Pascal nyelv szintaktikájára épülnek az utasításai. A kompatibilitás megőrzése végett a strukturált utasításokat is kezeli, de valójában egy objektum orientált nyelvről van szó.

A Delphi szerkesztői felületének kezelésére és a grafikai elemek használatára most nem térek ki, ezt mindenki elsajátíthatja különböző szakkönyvekből, kiadványokból.

A Delphiben minden osztály őse a TObject ősosztály. A deklarációkban gyakorlatilag jelölhetjük is ezt:

Tmyclass = class (TObject) End;

4

Page 5: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

Ha egy új osztályt akarunk létrehozni, ami az imént létrehozott Tmyclass osztályból származik, akkor a következő képen tehetjük meg:

Tsubclass = class (Tmyclass) End;

Az új osztályunk ebben az esetben a Tsublass lesz. Az öröklődés szabályai szerint a szülő osztály metódusait lehetőségünk van örököltetni ebbe az osztályba is. A szülő osztály tulajdonságai ezután bármikor használhatóak.

Most nézzük meg, hogy egy metódust hogyan tudunk definiálni, és aztán a későbbiekben használni a különböző osztályokban. A példában létrehozunk egy dolgozó osztályt, amiben a cég dolgozóit akarjuk a későbbiekben tárolni:

Tdolgozo = class név: String; beosztás: String; fizetés: longint;

end;

Ezen az osztályon deklarálunk egy változót a következő képen:

Var melos:Tdolgozo;

A program futása során létre kell hoznunk az osztály egy elemét, amikor használni szeretnénk. Mikor pedig már nincs rá szükségünk, fel kell szabadítanunk a memóriát a felesleges foglalástól:

var melos: Tdolgozo; begin melos:= Tdolgozo.Create; //memória foglalás melos.nev:=’Lapos Elemér’; … melos.Free; //memória felszabadítás end;

Az osztályok tulajdonságainak öröklése így nagyban megkönnyíti a hasonló adatok kezelését. Az örökléseknél csak azokat a tulajdonságokat kell továbbvinnünk, amelyekre szükségünk lehet. A hiányosságokat pedig az új alosztályunkban deklarálhatjuk.

5

Page 6: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

MUNKAHELYZET- ESETFELVETÉS

ESEMÉNYVEZÉRELT PROGRAMOZÁS

Az eseményvezérelt programozás lényege, hogy a program egyes részei nem előre meghatározható sorrendben futnak le, hanem a vezérlés lefutását bizonyos külső és belső események határozzák meg. A program egésze nem más, mint események bekövetkezésére válaszul végrehajtott alprogramok, amelyek nagyrészt egymástól függetlenül dolgoznak és működtetik a program egészét.

Napjaink elterjedt felhasználói felületei az ablak (windows) alapú, eseményvezérelt felületek. Az ilyen rendszerekkel igen könnyen és gyorsan készíthetünk szabványos ablakvezérelt programokat. A képernyőképek megtervezése inkább egy egyszerűbb rajzolóprogram használatához hasonlítható. A szabványos modulokból (gombok, ablakok, menük, vezérlőelemek), rendkívül látványosra készíthetjük a programjainkat. Ezek a rendszerek általában használják az operációs rendszer beépített szolgáltatásait is, mint például a mentés, nyomtatás, színkezelés, vezérlőgombok, stb.

A programozási nyelvek közül ilyen rendszert használ többek közt a Delphi, C#, Visual Basic. Multimédia fejlesztő rendszerekben pedig a Director és Flash szintén ilyen felületen dolgozik.

Az ilyen rendszerekben a gép és a felhasználó közötti kommunikáció a megszokott ablakos rendszeren keresztül történik. A programozónak a különböző objektumok mögötti tartalmat kell leprogramoznia, vagyis a hozzájuk tartozó eseményeket! Az eseményvezéreltség így itt arra utal, hogy az algoritmus szekvenciáját nem a program, hanem a felhasználó határozza meg, aki minden elemi beavatkozás után sok különböző lehetőség közül választhat. Ez azt jelenti, hogy az eseményvezérelt felhasználói felületeket minden pillanatban többféle felhasználói beavatkozásra fel kell készíteni.

A program futása során gyakorlatilag a felhasználó az input eszközökön keresztül (pl. egér, billentyűzet) adhatja ki a program számára a megfelelő parancsokat. Ezeket a rendszer a kiadás sorrendjében dolgozza fel. Tehát a programrészek futási sorrendje bizonyos szinten a felhasználó által vannak definiálva.

Nagy előnye az ilyen rendszereknek, hogy olyan szabványos felületet lehet a segítségükkel kialakítani, ami a felhasználóknak ismerős, így könnyen el tudnak benne boldogulni. Ezáltal a szabványos modulok használata a programok elterjedését is segíti.

A kommunikáció másik irányát tekintve (output), szintén hatalmas előnyökkel találkozhatunk. A grafikus megjelenítés lehetővé teszi nagyfelbontású képek, grafikák

6

Page 7: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

egyszerű és gyors megjelenítését különösebb grafikai ismeretek nélkül. Könnyen lejátszhatunk különböző formátumú filmeket. A program részeként egyszerűen beépíthetünk hang és zene részleteket. A hardver eszközök kezelését pedig az operációs rendszer elvégzi a programozó helyett.

Objektumorientált megközelítésben:

Az ablakokhoz egy osztályt rendelünk. Az közös tulajdonságokat érdemes egy közös alaposztályban összefoglalni, amely minden egyes beavatkozásra valamilyen alapértelmezés szerint reagál, és az összes output funkciót biztosítja. Az alkalmazásokban szereplő specifikus ablakok ennek a közös alapablaknak a származtatott változatai. A származtatott ablakokban csak azon reakciókat megvalósító tagfüggvényeket kell újradefiniálni, melyeknek az alapértelmezéstől eltérő módon kell viselkedniük. Az output funkciókat nem kell definiálni a származtatott ablakban, hiszen azokat az alapablaktól automatikusan örökli. Tehát ezzel a rendszerrel egy elég összetett objektum orientált rendszert tudunk kiépíteni.

Néhány ilyen rendszert kicsit részletesebben is bemutatunk:

1. Programozási nyelvek:

Delphi:

Alapvetően a PASCAL nyelv utasításkészletére épülő eseményvezérelt objektum orientált programnyelv. A használata gyorsan elsajátítható, ha valaki már rendelkezik valamely más strukturált nyelv ismeretével. A BORLAND cég terméke. Alapvetően Windows operációs rendszer alá készült, de KYLIX néven Linuxos változata is létezik. Az egyik legelterjedtebb nyelv az oktatásban.

1. ábra A Delphi alapképernyő

7

Page 8: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

Visual Basic:

A Microsoft cég terméke, amit kifejezetten Windows alkalmazások fejlesztéséhez adott ki. Használata gyorsan megtanulható. Alapvetően a Basic nyelv utasításkészletére épít, de nagy szabadságot biztosít a programozónak a saját ötletek megvalósítására.

2. ábra Visual Basic képernyő

Java:

A Java egy általános célú, objektumorientált programozási nyelv, amelyet a Sun Microsystems fejleszt a kezdetektől fogva. A nyelv a C programozási nyelv alapjaira épít, de attól sok mindenben lényegesen eltér és bizonyos helyeken sokkal egyszerűbb. A legnépszerűbb a netes és mobil alkalmazások piacán. A Sun Microsystem erősen levédte a nyelvét jogilag és a Microsofttal szemben is több pert nyert már emiatt.

3. ábra Java fordító

8

Page 9: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

C#:

A Microsoft fejlesztése. Alapjául a C++ és a Java szolgált. A Sun Microsystem ezért beperelte a Microsoftot és el kellett hagyniuk a Java részeket belőle. A későbbiekben innen fejlesztették ki a .Net rendszerüket is. A C# főleg azoknak való, akik gyorsan szeretnének látványos eredményeket elérni, akár minimális programozói tehetséggel és tudással.

4. ábra C# képernyője

9

Page 10: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

2. Multimédia fejlesztő rendszerek:

Flash:

Jelenleg az Adobe cég termékei közé tartozik. Megjelenésekor forradalminak számított, mert egy programban ötvözi a vektoros grafika és animáció készítő programok előnyeit. Segítségével weboldalak, animációk, képek, filmek és különféle mobil tartalmak és programok is készíthetők. Igen nagy szabadságot ad a programozónak grafikai téren. Egy ügyes grafikus és programozó nagyon látványos tartalmat tud vele készíteni.

A Flashben való munka alapvetően egy időszalagon (Timescore) történik, ahol az eseményeket le kell programoznunk. Az eseményeket pedig vagy valamelyik objektumhoz, vagy egy időponthoz tudjuk rendelni.

5. ábra Flash képernyő

Director:

Szintén az Adobe cég terméke jelenleg, bár a Flashez hasonlóan a Macromédia vállalat terméke volt addig, amíg azt az Adobe fel nem vásárolta.

A Director kifejezetten multimédia tervező és fejlesztő rendszer. Használata sokban hasonlít a Flashez, de mégis számos eltérés is van köztük. Itt is egy tipikus eseményorientált fejlesztő rendszerrel találjuk magunkat szemben. Az eseményeket itt szintén egy időponthoz, vagy objektumhoz tudjuk rendelni. Az objektumokat, vagy más néven szereplőket beimportálhatjuk és meg is szerkeszthetjük programon belül. A kész munkákat többféle formátumban menthetjük, de teljesen önállóan futtatható állományokat is készíthetünk benne.

10

Page 11: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

6. ábra Director képernyő

Összefoglalás:

Milyen jellemzői vannak az objektum orientált rendszereknek?

Jellemezze a tulajdonságokat!

Mondjon pár példát az objektumok használatára!

Mit jelent az eseményvezérlés?

Milyen eseményvezérelt rendszereket ismer?

TANULÁSIRÁNYÍTÓ

Ha szeretnénk megtanulni a fent ismertetett anyagot, akkor először az alapfogalmakkal kell tisztában lennünk. Ezek elsajátítása nélkül nem léphetünk tovább, mert a későbbiekben ezekre folyamatosan hivatkozunk. A fenti részben bemutatott rendszerek idő és helyhiány miatt csak bevezető jellegűek voltak. Ha valaki ezeket az alapokat elsajátította és szeretne jobban megismerkedni valamelyik rendszerrel, akkor érdemes szakkönyvekben, vagy pedig egy tanfolyamon részletesebben megismerkednie a témával.

A tanulás során javaslok egy olyan sorrendet betartani, ami a tananyag ismertetésekor is történt. Ha tisztában vagyunk az alapfogalmakkal és a leíró rendszerekkel, akkor érdemes gyakorolni a használatukat pár feladaton keresztül, ami a következő részben megtalálható lesz!

11

Page 12: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

12

Page 13: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

ÖNELLENÖRZŐ FELADATOK

Ebben a részben találunk néhány feladatot, ami segít elmélyíteni a fenti ismereteket. A feladatokat itt kell megoldani a kijelölt helyen. Segítségképpen nyugodtan lapozzunk vissza kezdetben a tananyaghoz, de az lenne a végső cél, hogy teljesen önállóan tudjuk megoldani a feladatokat!

1. feladat

Készítsen egy programrészletet, ahol deklarál egy osztályt, ami gépkocsik adatait tartja nyilván. Gyűjtse össze, milyen adatokra lehet szüksége!

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

13

Page 14: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

2. feladat

Készítsen egy programrészletet, ahol az imént deklarált osztályhoz készít egy alosztályt a használt gépkocsik részére. Milyen tulajdonságokat örököltetne a szülő osztályból és mikkel egészítené ki azokat?

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

14

Page 15: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

3. feladat

Készítsen egy programrészletet, ahol az imént deklarált osztályhoz készít egy alosztályt a tehergépkocsik részére. Milyen tulajdonságokat örököltetne a szülő osztályból és mikkel egészítené ki azokat?

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

_________________________________________________________________________________________

15

Page 16: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

MEGOLDÁSOK

1. feladat

Tgepkocsi = class Típus: String; Gyártmány: String; Szín: String; Cm3: integer; Ár: longint; Rendszám:String;

end;

16

Page 17: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

2. feladat

Thasznaltkocsi = class (Tgepkocsi) Évjárat:integer; Futtottkm:longint; End;

17

Page 18: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

3. feladat

Tteherkocsi = class (Tgepkocsi) Teherbírás:longint; Össztömeg:longint; End;

18

Page 19: PROGRAMOZÁSMÓDSZERTAN II - aktivitas-tiszk.huaktivitas-tiszk.hu/elearning/Obuch_Laszlo/Programozasmodszertan_II.pdf · valójában egy objektum orientált nyelvről van szó. A

PROGRAMOZÁSMÓDSZERTAN II

IRODALOMJEGYZÉK

FELHASZNÁLT IRODALOM

KUROS, A. G. : Felsőbb algebra. Budapest (Tankönyvkiadó) 1978.

KNUTH, Donald, E.: A számítógép-programozás művészete I-III. Budapest (Műszaki) 1987.

OBÁDOVICS J. Gyula: Matematika. Budapest (Műszaki) 1978.

REIMANN József: Matematika. Budapest 1982.

WIRTH, Niklaus: Algoritmusok + Adatstruktúrák = Programok. Budapest (Műszaki) 1982.

19