PROGRAMOZÁSMÓDSZERTAN II

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "PROGRAMOZÁSMÓDSZERTAN II"

Átírás

1 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

2 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

3 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): UtódOsztály1 Mezők Metódusok ŐsOsztály Mezők Metódusok UtódOsztály2 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 12

13 Ö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

14 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

15 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

16 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

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

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

19 IRODALOMJEGYZÉK FELHASZNÁLT IRODALOM KUROS, A. G. : Felsőbb algebra. Budapest (Tankönyvkiadó) KNUTH, Donald, E.: A számítógép-programozás művészete I-III. Budapest (Műszaki) OBÁDOVICS J. Gyula: Matematika. Budapest (Műszaki) REIMANN József: Matematika. Budapest WIRTH, Niklaus: Algoritmusok + Adatstruktúrák = Programok. Budapest (Műszaki)

Programozási alapismeretek 4.

Programozási alapismeretek 4. Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)

Részletesebben

Már megismert fogalmak áttekintése

Már megismert fogalmak áttekintése Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak

Részletesebben

Programozás. Objektum Orientált Programozás (OOP) Alapfogalmak. Fodor Attila

Programozás. Objektum Orientált Programozás (OOP) Alapfogalmak. Fodor Attila Programozás Objektum Orientált Programozás (OOP) Alapfogalmak Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. február 18.

Részletesebben

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat

Részletesebben

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*; Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely

Részletesebben

Programozás módszertan p.1/46

Programozás módszertan p.1/46 Programozás módszertan Öröklődés Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK MAGYAR TUDOMÁNYOS AKADÉMIA SZÁMÍTÁSTECHNIKAI ÉS

Részletesebben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016 Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/12 Tartalomjegyzék Miért

Részletesebben

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_01-1 - E jegyzet másolata

Részletesebben

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és Függvénysablonok Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Objektumorientált szoftverfejlesztés alapjai

Objektumorientált szoftverfejlesztés alapjai Objektumorientált szoftverfejlesztés alapjai Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben @Katona József Kővári Attila Lektorálta: Dr. Fauszt Tibor DOI:

Részletesebben

JAVA PROGRAMOZÁS 2.ELŐADÁS

JAVA PROGRAMOZÁS 2.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:

Részletesebben

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1 Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely

Részletesebben

Interfészek. Programozás II. előadás. Szénási Sándor.

Interfészek. Programozás II. előadás.  Szénási Sándor. Interfészek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Polimorfizmus áttekintése Interfészek Interfészek alkalmazása

Részletesebben

Objektumorientált paradigma és programfejlesztés Bevezető

Objektumorientált paradigma és programfejlesztés Bevezető Objektumorientált paradigma és programfejlesztés Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján

Részletesebben

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás: Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban

Részletesebben

Objektumorientált paradigma és a programfejlesztés

Objektumorientált paradigma és a programfejlesztés Objektumorientált paradigma és a programfejlesztés Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján Objektumorientált

Részletesebben

Öröklés és Polimorfizmus

Öröklés és Polimorfizmus Öröklés és Polimorfizmus Egy létező osztályból egy (vagy több) újat készítünk A létező osztályt ősnek, az újakat utódnak nevezzük Az utódok öröklik az ős minden tagját Az utódok az öröklött tagokat újakkal

Részletesebben

C++ programozási nyelv Struktúrák a C++ nyelvben

C++ programozási nyelv Struktúrák a C++ nyelvben C++ programozási nyelv Struktúrák a C++ nyelvben Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/37 Bevezetés A

Részletesebben

Programozás II. 6.Öröklés Dr. Iványi Péter

Programozás II. 6.Öröklés Dr. Iványi Péter Programozás II. 6.Öröklés Dr. Iványi Péter 1 Öröklés Programozók lusta emberek, nem szeretnék valamit kétszer leírni Miért veszélyes? Nem hatékony Újra kell tárolni a kódot, újra le kell fordítani Karbantartás

Részletesebben

C++ programozási nyelv Konstruktorok-destruktorok

C++ programozási nyelv Konstruktorok-destruktorok C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

Iman 3.0 szoftverdokumentáció

Iman 3.0 szoftverdokumentáció Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3

Részletesebben

Bevezetés, a C++ osztályok. Pere László

Bevezetés, a C++ osztályok. Pere László Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK

Részletesebben

ISA szimulátor objektum-orientált modell (C++)

ISA szimulátor objektum-orientált modell (C++) Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált

Részletesebben

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv

Részletesebben

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv

Részletesebben

OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance

OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance Az objektum-orientált programozás (röviden OOP) a természetes gondolkodást, cselekvést közelítő programozási mód, amely a programozási nyelvek tervezésének természetes fejlődése következtében alakult ki.

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)

Részletesebben

Osztály öröklődés. Öröklődés és polimorfizmus. Programozás II. előadás. http://nik.uni-obuda.hu/prog2 Szénási Sándor. szenasi.sandor@nik.uni-obuda.

Osztály öröklődés. Öröklődés és polimorfizmus. Programozás II. előadás. http://nik.uni-obuda.hu/prog2 Szénási Sándor. szenasi.sandor@nik.uni-obuda. Osztály öröklődés Öröklődés és polimorfizmus előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Öröklődés Polimorfizmus Osztályok

Részletesebben

Objektum orientált programozás (Object Oriented Programming = OOP)

Objektum orientált programozás (Object Oriented Programming = OOP) Objektum orientált programozás (Object Oriented Programming = OOP) Ajánlott irodalom: Angster Erzsébet: Az objektumorientált tervezés és programozás alapjai Dr. Kondorosi Károly, Dr. László Zoltán, Dr.

Részletesebben

Objektum orientált programozás (Object Oriented Programming = OOP)

Objektum orientált programozás (Object Oriented Programming = OOP) Objektum orientált programozás (Object Oriented Programming = OOP) Ajánlott irodalom: Angster Erzsébet: Az objektumorientált tervezés és programozás alapjai Dr. Kondorosi Károly, Dr. László Zoltán, Dr.

Részletesebben

III. OOP (objektumok, osztályok)

III. OOP (objektumok, osztályok) III. OOP (objektumok, osztályok) 1. Természetes emberi gondolkozás Az Objektumorientált paradigma alapelvei nagyon hasonlítanak az emberi gondolkozásra. Érdemes ezért elsőként az emberi gondolkozás elveit

Részletesebben

Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.

Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. KIINDULÁS Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. Programozás III Az egyszerűség kedvéért mindegyiket a nevük alapján regisztráljuk,

Részletesebben

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin 1 A PROGRAMOZÁS ALAPJAI 3 Készítette: Vénné Meskó Katalin Információk 2 Elérhetőség meskokatalin@tfkkefohu Fogadóóra: szerda 10:45-11:30 Számonkérés Időpontok Dec 19 9:00, Jan 05 9:00, Jan 18 9:00 egy

Részletesebben

I. Objektumorientált programozás

I. Objektumorientált programozás I. Objektumorientált programozás 1. Az objektumorientált programozás alapjai Objektumok és objektumosztályok A számítógépes programok közvetve vagy közvetlenül a körülöttünk lévô világ elemeihez illeszkednek,

Részletesebben

SZOFTVERFEJLESZTÉSI TECHNOLÓGIÁK

SZOFTVERFEJLESZTÉSI TECHNOLÓGIÁK SZOFTVERFEJLESZTÉSI TECHNOLÓGIÁK Programnyelv fa: A nyilak irányába hatnak egymásra a nyelvek. Az ALGOL 60 előtt is voltak nyelvek (pl.: Fortran). Az aláhúzottak objektumorientált nyelvek (későbbiekben

Részletesebben

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus Eötvös Loránd Tudományegyetem Természettudományi Kar Alkalmazott Modul III 6. előadás Objektumorientált programozás: öröklődés és polimorfizmus 2011.10.24. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Programozás III. - NGB_IN001_3

Programozás III. - NGB_IN001_3 Programozás III. - az objektumorientált programozásba Varjasi Norbert Széchenyi István Egyetem Informatika Tanszék Programozás III. - 1. el adás institution-log Tartalom 1 El adások és gyakorlatok Zárthelyi

Részletesebben

Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 5. gyakorlat 1 Objektumorientáltság Egységbezárás és információ elrejtése (absztrakt adattípus) Adatok és rajtuk végzett műveletek egységbezárása (osztályok írása, múlt hét) Öröklődés Polimorfizmus

Részletesebben

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport TANMENET Informatika szakmacsoport Programozási gyakorlatok III. tantárgy 12. évfolyam A osztály 2013/2014 tanév Heti óraszám: Éves óraszám: 3 óra 96 óra Készítette: Szikszai Gusztáv tanár Ellenőrizte:.

Részletesebben

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

Abstract osztályok és interface-ek. 7-dik gyakorlat

Abstract osztályok és interface-ek. 7-dik gyakorlat Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Bánsághi Anna 2014 Bánsághi Anna 1 of 33 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

SZOFTVER = a számítógépet működtető és az azon futó programok összessége.

SZOFTVER = a számítógépet működtető és az azon futó programok összessége. SZOFTVEREK SZOFTVER = a számítógépet működtető és az azon futó programok összessége. Programok Programnak nevezzük egy algoritmus valamelyik számítógépes programnyelven való leírását, amely a számítógép

Részletesebben

Web-programozó Web-programozó

Web-programozó Web-programozó Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,

Részletesebben

1. Bevezetés A C++ nem objektumorientált újdonságai 3

1. Bevezetés A C++ nem objektumorientált újdonságai 3 Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.

Részletesebben

Virtuális függvények (late binding)

Virtuális függvények (late binding) Virtuális függvények (late binding) Miskolci Egyetem Általános Informatikai Tanszék Virtuális függvények CPP5 / 1 Azonos nevű függvények megkülönböztetése paraméterszignatúra (függvény overloading) - egy

Részletesebben

Algoritmusok, adatszerkezetek, objektumok

Algoritmusok, adatszerkezetek, objektumok Algoritmusok, adatszerkezetek, objektumok 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 14. Sergyán (OE NIK) AAO 01 2011.

Részletesebben

Programozás C++ -ban

Programozás C++ -ban 8. Dinamikus objektumok Programozás C++ -ban Ahhoz hogy általános prolémákat is meg tudjunk oldani, szükség van arra, hogy dinamikusan hozhassunk létre vagy szüntethessünk meg objektumokat. A C programozási

Részletesebben

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék Programozás Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. február 11. Tantárgy célja, szükséges ismeretek Tantárgy célja,

Részletesebben

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus

Részletesebben

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int

Részletesebben

Az élet szép, környezetünk tele van fákkal, virágokkal, repdeső madarakkal, vidáman futkározó állatokkal.

Az élet szép, környezetünk tele van fákkal, virágokkal, repdeső madarakkal, vidáman futkározó állatokkal. Objektumorientált programozás Az élet szép, környezetünk tele van fákkal, virágokkal, repdeső madarakkal, vidáman futkározó állatokkal. Ez a nem művészi értékű, de idillikus kép azt a pillanatot mutatja,

Részletesebben

Számítógép és programozás 2

Számítógép és programozás 2 Számítógép és programozás 2 10. Előadás Öröklődés http://digitus.itk.ppke.hu/~flugi/ Tagfüggvény struct Particle { int x,y; unsigned char r,g,b; void rajzol() { gout

Részletesebben

Értékelés a BUS programhoz elkészült termékek magyar változatáról Készítette: Animatus Kft. Jókay Tamás január 07.

Értékelés a BUS programhoz elkészült termékek magyar változatáról Készítette: Animatus Kft. Jókay Tamás január 07. Értékelés a BUS programhoz elkészült termékek magyar változatáról Készítette: Animatus Kft. Jókay Tamás 2011. január 07. Tartarlom Guide book,,...3 Trainer s slides,,...4 Trainer s handbook,,...5 CD,,...6

Részletesebben

Adatszerkezetek 2. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter Adatszerkezetek 2. Dr. Iványi Péter 1 Hash tábla A bináris fáknál O(log n) a legjobb eset a keresésre. Ha valamilyen közvetlen címzést használunk, akkor akár O(1) is elérhető. A hash tábla a tömb általánosításaként

Részletesebben

Az ErdaGIS térinformatikai keretrendszer

Az ErdaGIS térinformatikai keretrendszer Az ErdaGIS térinformatikai keretrendszer Két évtized tapasztalatát sűrítettük ErdaGIS térinformatikai keretrendszerünkbe, mely moduláris felépítésével széleskörű felhasználói réteget céloz, és felépítését

Részletesebben

Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer

Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer Objektumok és osztályok Az objektumorientált programozás alapjai Rajzolás tollal, festés ecsettel A koordinátarendszer A vektorgrafikában az egyes grafikus elemeket (pontokat, szakaszokat, köröket, stb.)

Részletesebben

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag C# osztálydeníció Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem.net C# technológiák tananyag objektum orientált programozás tananyag Tartalom 1 Bevezetés 2 Osztály létrehozása, deníció

Részletesebben

Programozás C++ -ban

Programozás C++ -ban Programozás C++ -ban 4. Bevezetés az osztályokba 4.1 Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több

Részletesebben

Irányítástechnika 1. 9. Elıadás. PLC-k programozása

Irányítástechnika 1. 9. Elıadás. PLC-k programozása Irányítástechnika 1 9. Elıadás PLC-k programozása Irodalom - Helmich József: Irányítástechnika I, 2005 - Zalotay Péter: PLC tanfolyam - Jancskárné Anweiler Ildikó: PLC programozás az IEC 1131-3 szabvány

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Java programozási nyelv 9. rész Kivételkezelés

Java programozási nyelv 9. rész Kivételkezelés Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék

Részletesebben

Elemi Alkalmazások Fejlesztése II.

Elemi Alkalmazások Fejlesztése II. Elemi Alkalmazások Fejlesztése II. Osztályok közötti kapcsolatok öröklődés asszociáció aggregáció kompozíció 1. Feladat Készítsünk programot, amellyel testek térfogatát határozhatjuk meg, illetve megadhatjuk

Részletesebben

JAVA PROGRAMOZÁS 3.ELŐADÁS

JAVA PROGRAMOZÁS 3.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram

Részletesebben

Java VII. Polimorfizmus a Java nyelvben

Java VII. Polimorfizmus a Java nyelvben Java VII. Polimorfizmus a Java nyelvben Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 19. Java VII. Polimorfizmuss JAVA7 / 1 A kötés (binding( binding) ) fogalma Kötés (binding)

Részletesebben

TestLine - OO Programozás alapjai Minta feladatsor

TestLine - OO Programozás alapjai Minta feladatsor 2016.09.20. 18:46:36 Oktató: n/a Kérdések száma: 16 kérdés Kitöltési idő: 29:45 Szélsőséges pontok: -196 pont +672 pont z Óbudai gyetem Programozás III című tárgyának előkövetelményeként létező Programozás

Részletesebben

Prezentáció használata

Prezentáció használata Prezentáció használata A számítógép alkalmazásának egyik lehetséges területe, amikor a számítógépet mint segédeszközt hívjuk segítségül, annak érdekében, hogy előadásunk vagy ismertetőnk során elhangzottakat

Részletesebben

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

Részletesebben

Podoski Péter és Zabb László

Podoski Péter és Zabb László Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő

Részletesebben

Programfejlesztési Modellek

Programfejlesztési Modellek Programfejlesztési Modellek Programfejlesztési fázisok: Követelmények leírása (megvalósíthatósági tanulmány, funkcionális specifikáció) Specifikáció elkészítése Tervezés (vázlatos és finom) Implementáció

Részletesebben

A NetBeans IDE Ubuntu Linux operációs rendszeren

A NetBeans IDE Ubuntu Linux operációs rendszeren A NetBeans IDE Ubuntu Linux operációs rendszeren Készítette: Török Viktor (Kapitány) E-mail: kapitany@lidercfeny.hu 1/10 A NetBeans IDE Linux operációs rendszeren Bevezető A NetBeans IDE egy Java-ban írt,

Részletesebben

Kézikönyv Sarzs (LOT) kezelés - alapok

Kézikönyv Sarzs (LOT) kezelés - alapok Kézikönyv Sarzs (LOT) kezelés - alapok 1 4 Tartalomjegyzék 2 ÁRUCIKK - ÜRES... 10 3 ÁRUCIKK - MEGJELENÍTÉS [10035 BE_S_ANYAG SARZSOS ALAPANYAG]... 12 4 ÁRUCIKK - VÁLTOZTATÁS [10035 BE_S_ANYAG SARZSOS ALAPANYAG]13

Részletesebben

Számítógép architektúra

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

Gyakorlati vizsgatevékenység B

Gyakorlati vizsgatevékenység B Gyakorlati vizsgatevékenység B Szakképesítés azonosító száma, megnevezése: 481 04 0000 00 00 Web-programozó Vizsgarészhez rendelt követelménymodul azonosítója, megnevezése: 1189-06 Web-alkalmazás fejlesztés

Részletesebben

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein. Programozás C++ osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. április 8. Csak bázisosztályként használt/értelmezhető

Részletesebben

A szerzõrõl... xi Bevezetés... xiii

A szerzõrõl... xi Bevezetés... xiii TARTALOMJEGYZÉK A szerzõrõl...................................................... xi Bevezetés...................................................... xiii I. rész A Visual Basic 2005 környezet 1. óra Irány

Részletesebben

Objektumorientált programozás IX. Osztályok, objektumok

Objektumorientált programozás IX. Osztályok, objektumok Objektumorientált programozás IX. Osztályok, objektumok 1 Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,

Részletesebben

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft Flash és PHP kommunikáció Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft A lehetőségek FlashVars External Interface Loadvars XML SOAP Socket AMF AMFphp PHPObject Flash Vars Flash verziótól függetlenül

Részletesebben

500. AA Megoldó Alfréd AA 500.

500. AA Megoldó Alfréd AA 500. Programozás alapjai 2. NZH 2010.05.13. gyakorlat: / Hiány:0 ZH:0 MEGOLD IB.027/51. Hftest: 0 Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden

Részletesebben

Programozás II gyakorlat. 6. Polimorfizmus

Programozás II gyakorlat. 6. Polimorfizmus Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással

Részletesebben

Gyakorlati vizsgatevékenység A

Gyakorlati vizsgatevékenység A Gyakorlati vizsgatevékenység A Szakképesítés azonosító száma, megnevezése: 481 04 0000 00 00 Web-programozó Vizsgarészhez rendelt követelménymodul azonosítója, megnevezése: 1189-06 Web-alkalmazás fejlesztés

Részletesebben

SZAKDOLGOZAT. Kiss Albert

SZAKDOLGOZAT. Kiss Albert SZAKDOLGOZAT Kiss Albert Debrecen 2009 Debreceni Egyetem Informatikai Kar A VIZUÁLIS PROGRAMOZÁS TANÍTÁSA A DEBRECENI MECHWART ANDRÁS GÉPIPARI ÉS INFORMATIKAI SZAKKÖZÉPISKOLÁBAN Témavezető: Nyakóné dr.

Részletesebben

PRECÍZ Információs füzetek

PRECÍZ Információs füzetek PRECÍZ Információs füzetek Információk, Módszerek, Ötletek és Megoldások a Precíz Integrált Ügyviteli Információs rendszerhez 3. EXCEL adatkapcsolat (mod. 2009.07.) Ügyviteli nyilvántartások és EXCEL formátumú

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 2. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Vizuális modellezés Programozás: Modellezés és tervezés Implemetálás (Kódolás) Dokumentálás és Tesztelés

Részletesebben

Delphi programozás I.

Delphi programozás I. Delphi programozás I. Konzol alkalmazások készítése Delphiben A Delphi konzol alkalmazása (console application) olyan 32 bites program, amely nem grafikus felületen, hanem egy szöveges konzol ablakban

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)

Részletesebben