Objektum-orientált programozás
|
|
- Anikó Varga
- 7 évvel ezelőtt
- Látták:
Átírás
1 Objektum-orientált programozás Készítette: Nagy Zsolt, 2014 Modellezés A modellezés során nem a valós világ dolgaival foglakozunk, hanem egy kisebb, megfoghatóbb, megérthetőbb egyszerűsített példánnyal. Gondoljunk a Forma 1-es versenyautók tervezésénél elvégzett légellenállási kísérletekre. Először itt sem a megépített gépet vizsgálják, hanem annak kicsinyített mását. Majd, ha már közelebb kerültek a megoldáshoz, akkor váltanak teljes 1:1 méretarányra, de még ilyenkor sem a komplett versenyautót vizsgálják, hanem egy fabrikált felületet. Hogy mi ennek a lényege? Felesleges, és sokszor lehetetlen is a valós világ objektumait teljes egészükben vizsgálni. Egyrészt: lehetetlen lenne a bonyolultsága miatt minden részletére figyelni, illetve a lényegtelen részletek feleslegesen vonnák el a fontos és lényeges részektől az időt és az energiát. Így van ez a szoftverfejlesztésnél is. Amikor egy valós világbeli problémára keresünk megoldást, egyszerűsítenünk kell. Meg kell keresni a feladat megoldása szempontjából fontos és releváns részeket, majd azokat ki kell emelni a problématérből. Ugyanis a feladat megoldása szempontjából csak ezek a tulajdonságok fognak szerepet játszani. Képzeljük el a következő feladatot. Egy autókereskedő számára szeretnénk programot készíteni, amelyben nyílván tudja tartani a kereskedésében lévő gépkocsik adatait. Kezelni akarná-e a kocsik tulajdonosit? Bizonyára igen. De kell-e foglalkoznia a tulajdonosok heti bevásárlásaival? Nem valószínű. Nagyon sok olyan tulajdonság jellemzi a valós objektumokat, amelyek a feladat megoldására nézve irrelevánsak, nem fontosak. Ezeket az adatokat nem is kell kezelnünk. A modellalkotásnak ezt a részét absztrakciónak elvonatkoztatásnak nevezzük.
2 A fent említett kereskedő autóiból több is lehet, és ezek az autók mind hasonlóan épülnek fel, hasonló tulajdonságokkal jellemezhetők. Igaz lehetnek motorkerékpárok, teherautók, stb. is a kereskedő udvarán. Vagyis a valós világ objektumait csoportokba tudjuk rendezni, a hasonló tulajdonságaik alapján. Így lesznek olyan járművek, amelyekre az jellemző, hogy személyeket szállítanak, és négy kerekük van. De olyanok is, amelyek két kerekűek és szintén személyeket szállítanak. Meg olyanok is, amelyek fő feladata a teherszállítás. Könnyebb kezelni, megérteni a valós világ objektumait, ha a hasonló tulajdonságaik alapján csoportokba rendezzük, kategorizáljuk őket. De, ha jobban megvizsgáljuk a kereskedő járműveit, felismerhetünk a csoportok között hasonlóságokat, olyan tulajdonságokat, amelyekkel minden csoportnál foglakozni akarunk. Ilyen például az évjárat, a motor űrtartalma, tulajdonosa, stb. Tehát ki tudunk emelni közös jellemzőket az egyes csoportokból. Viszont lehet olyan is, hogy az autóknál meg akarjuk különböztetni a sportkocsikat. Tehát például újabb tulajdonságot akarunk bevezetni, szűkítve ezzel az autók csoportját. Ezekre azt mondjuk, hogy általánosítunk, vagyis kiemeljük a közös tulajdonságokat, illetve specializálunk, azaz szűkítjük a csoportot. A kereskedő által nyílván tartott csoportok nem önmagukban léteznek, nem függetlenek egymástól. Kapcsolat van például a gépjármű és a jelenlegi tulajdonosa között. Kétféle kapcsolatot különböztetünk meg. Ismeretségi kapcsolat esetén a két objektum létezhet önállóan is (autó és tulajdonosa). Egész-rész kapcsolatnál, pedig a rész nem létezhet az egészen kívül (autó és motorja). Objektum orientált paradigma A valós világ objektumait két oldalról tudjuk vizsgálni. Egyrészt a felépítését, amelyet az adatok határoznak meg. Általánosítva ezek a tulajdonságai, jellemzői. Például a gépkocsinál a márka, típus, gyártási év, szín, ár, stb.. Másrészt a gépjárművek tudnak haladni az úton, lehet velük sebességet váltani, lehet gyorsítani vagy lassítani, stb.. Ez pedig az objektum cselekvőképességét jelenti, más néven a módszereit, funkcióit.
3 Objektum (object) Az objektum-orientált paradigmának (gondolkodásmódnak) a sarkalatos eleme az objektum. Az objektumnak, az előbbi kocsi példát alapul véve, vannak adatai, amelyek egy szerkezetet alkotnak, és vannak funkciói, eljárásai, amelyekkel cselekedni tud. Az objektum egy olyan programozási eszköz, amelynek három komponense van: Attribútumai, amelyek az objektum szerkezetét írják le. Ezeket szokás statikus résznek is nevezni. Minden objektum mögött van egy memóriaterület, amely tárolja az objektum értékeit. Az attribútumok által felvett értékeket az objektum aktuális állapotának nevezzük. Módszerei, amelyekkel az objektum viselkedését tudjuk leírni. Vagyis az objektum képes magáról adatokat szolgáltatni, megváltoztatni az aktuális adatait, azaz állapotát, vagy egyéb (meghatározott) műveletet elvégezni. A viselkedést metódusokkal írjuk le. Az objektumot megszólítani a metódusain keresztül lehet, ezt üzenetküldésnek nevezzük. Minden objektumnak van azonosságtudata, azaz létezik azonosítója, amely csak rá jellemző (OID Object IDentifier). A változó neve igazából soha nem azonosító csak hatáskörön belül egyértelmű a névhivatkozás. Az OID viszont tényleg egyedi, még programok között is! Az objektum addig él, amíg vagy a programozó, vagy a nyelvi rendszer meg nem szünteti. Osztály (class) Absztrakt eszköz, az eljárás-orientált nyelvek típusfogalmának általánosítása (gyakran itt is típusként említjük - szinonimák). Az osztály azonos attribútumú és módszerű objektumok együttese. Az osztályhoz köthetőek az objektumok; az osztályból származtathatóak az objektumok. Az osztály olyan objektumminta vagy típus, amelynek alapján példányokat (objektumokat) hozunk létre. Minden objektum egy jól meghatározott osztály alapján jön létre. Az osztályban definiáljuk: az objektumok adatait, az objektum által elvégezhető műveleteket.
4 Nézzünk egy példát az osztályra. Az iskola tanulói egy jól körülhatárolható részét képezik az iskolába járó embereknek. Egy program elkészítése során a tanulóknak csak a számunkra fontos adatit akarjuk eltárolni, és csak a szükséges feladatok megoldására, illetve viselkedés elvégzésére szeretnénk képessé tenni. Ezek tudatában kell osztályt létrehozni. Tanulói nyilvántartás során, a következő adatokra, illetve viselkedésre lehet szükségünk. Tulajdonságok: név, lakhely, osztály, nem, tantárgyak. Viselkedések, feladatok: név beállítása, lekérdezése, lakhely beállítása, lekérdezése, osztály beállítása, lekérdezése, nem beállítása, lekérdezése. Tervezzünk egy másik osztályt! A síkidomok közül legyen a téglalap. Tulajdonságai: a, b. Műveletei: a oldal beállítása, lekérdezése, b oldal beállítása, lekérdezése, terület, kerület. Példány (instance) Az OO szemlélet szerint először létre kell hozni egy osztályt, leírni, hogy a hozzá tartozó objektumoknak milyen attribútumai és módszerei legyenek. Az osztály alapján jönnek létre az objektumok, amelyeket példányoknak is nevezünk. A műveletet pedig példányosításnak.
5 Az adott objektum adott osztály példánya. Minden objektum tudja, hogy melyik osztálynak példánya. Adott osztályhoz tartozó minden példány ugyanolyan attribútumokkal és módszerekkel rendelkezik. Minden példány tudja, hogy milyen módszerekkel rendelkezik. A módszereket mindig konkrét példányon futtathatom le, ezen értelmezhetők: az aktuális példányon. Példány létrehozása: ugyanaz az adatszerkezet újra és újra megjelenik a tárban. A módszereket nem többszörözi! Létezhetnek olyan attribútumok és olyan módszerek, amelyek nem arra szolgálnak, hogy az egyes példányok állapotait és viselkedését vizsgáljuk velük, hanem magához az osztályhoz tartoznak. (Példány-attribútum, példánymódszer; osztály-attribútum, osztálymódszer). Osztály-attribútum: hány darab példánya van (az osztály kiterjedése). Az osztály-attribútumok nem többszöröződnek. Egységesített Modellező Nyelv (UML) A tervezéshez grafikus eszközt használhatunk. Ilyen az UML (Unified Modeling Language) Egységesített Modellező Nyelv. Osztályok megadása Egy három részre osztott téglalappal jelöljük. A felső részében adjuk meg az osztály nevét, középre kiemelten. Pl. Teglalap A középső részben az adattagokat (változókat, különböző információ hordozó objektumokat). Pl. a, b: egész; Az alsó részben pedig a metódus tagokat (viselkedési formákat). Pl. seta(ertek: egész); terulet(): egész;
6 a, b: egész Teglalap seta(ertek: egész) setb(ertek: egész) geta(): egész getb(): egész terulet(): egész kerulet(): egész Osztály neve Osztály adattagjai Osztály viselkedései Példány megadása Egy két részre osztott téglalappal jelöljük. A példányba beírjuk az azonosítóját és osztályát egy kettősponttal elválasztva ezek közül valamelyik elhagyható. Pl. teglalap1: Teglalap, vagy teglalap1 vagy :Teglalap. Szükség esetén megadjuk az objektum állapotát egy vonallal elválasztva. A példányt egy szaggatott nyíllal kötjük az osztályhoz. Teglalap a, b: egész seta(ertek: egész) setb(ertek: egész) geta(): egész getb(): egész terulet(): egész kerulet(): egész teglalap1:teglalap a = 10 b = 20 Ha két objektumnak megegyezik az állapota, vagyis rendre egyformák az adataik, akkor ugyanarra az üzenetre ugyanúgy reagálnak. Egy objektum mindig a saját osztályában megadott metódus szerint működik. Üzenet (Message) Egy objektum felkérhet más objektumokat feladatok elvégzésére. A felkérést üzenetküldésnek nevezzük. Az üzenet nem más, mint egy kívülről elérhető metódus hívása. A hívás formája: objektum.üzenet(paraméterek)
7 teglalap1.terulet() program teglalap1 Objektum létrehozása, inicializálása Az objektumok a memóriában helyezkednek el. Megszületnek, léteznek viselkednek, majd vagy a programozó által, vagy a futtató rendszer által megsemmisülnek. A létrehozáskor be kell állítani az objektum állapotát, vagyis inicializálni kell. Ezt a kezdeti értékadást egy speciális metódus, a konstruktor végzi. A konstruktornak lehetnek paraméterei, amelyeken keresztül kívülről lehet kezdeti értékadásokat végrehajtani. Lehetnek olyan adatai is, amelyeket nem lehet kívülről elérni, befolyásolni. Példa konstruktorra: Teglalap(oldal_1: egész, oldal_2: egész) a = oldal_1 b = oldal_2 End Teglalap Az objektum létrehozását Java nyelvben a new operátor végzi. Az operátor után meg kell adni az osztály nevét, vagyis a konstruktort. Példa létrehozásra: teglalap1 = new Teglalap(10, 20) Példányváltozó, példánymetódus Az osztálynak azokat az adattagjait, amelyek minden belőle létrehozott példányban szerepelnek, példányváltozóknak, példányadatnak nevezzük. Ezek a változók minden példányban létrejönnek, és saját értékük lesz. Pl. Teglalap osztály alapján létrehozott teglalap1 objektumnak lesz két példánytagja a és b oldalak. Ezek minden példányban külön-külön létrejönnek és saját értékük lesz. Az osztály azon metódusait, amelyek példányokon dolgoznak, példánymetódusoknak nevezzük. Pl. a Teglalap osztály terulet() metódusa. A példánymetódust példányon hívjuk meg teglalap1.terulet(). Az üzenetküldés eredménye egy érték lesz, amit a terulet() metódus fog kiszámolni az adott (teglalap1) objektumon.
8 Osztályváltozó, osztálymetódus Vannak adatok, amelyek nem egy konkrét példányra, hanem az egész osztályra jellemzőek. Ilyen például az, hogy a programunkban összesen hány téglalap objektumot hoztunk létre. Ezt elegendő egy helyen, egy példányban tárolni. Nem kell, sőt nem is tanácsos külön-külön minden példányban jelen lennie. Ezek a változók, adatok az osztály saját adatai, ezért osztályadatnak, vagy osztályváltozónak nevezzük. A rajtuk műveletet végző metódusokat pedig osztálymetódusnak. Az osztályadat és osztálymetódus nevét az UML-ben aláhúzzuk. Egy osztályt csak osztálymetódussal lehet megszólítani, egy objektumot meg lehet példánymetódussal és osztálymetódussal is. Bezárás, információ elrejtése, kód újrafelhasználása Egy objektum legnagyobb ereje abban áll, hogy zárt és sérthetetlen. Azokat az adatokat, és metódusokat, amelyeket nem akar a külvilág számára elérhetővé tenni, elrejti előlük. Ezt információ elrejtésnek nevezzük. Az objektum zártsága azt jelenti, hogy az adatokat és a rajtuk dolgozó metódusokat egy egységnek kezeli (egységbezárás). A kód újrafelhasználásának egyik módja, hogy egy osztály alapján újabb és újabb példányokat lehet létrehozni. A másik módja, hogy egy osztályból származtatással újabb osztályokat tudunk létrehozni. Ezt örökítésnek nevezzük. Az osztály örökítésével specializáltabb viselkedésmódot, vagy újabb tulajdonságokat lehet felvenni.
9 Felhasznált, ajánlott irodalom Angster Erzsébet Objektumorientált tervezés és programozás Java 4Kör Bt Juhász István Programozás 2 Egyetemi jegyzet
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észletesebbenProgramozá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észletesebbenOsztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
RészletesebbenOOP. 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észletesebbenProgramozá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észletesebbenJava V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:
Java V. szint lyszintű ű tagok A final minősítő Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 05. Java V.: szintű tagok JAVA5 / 1 Példányváltozó Az eddig megismert adattagokból
RészletesebbenProgramozá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észletesebbenJAVA 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észletesebbenBevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 7. Gyakorlat osztályok, objektumok (utolsó módosítás 2018. aug. 28.) Szathmáry László Debreceni Egyetem Informatikai Kar 2018-2019, 1. félév OO programozás Pythonban
RészletesebbenProgramozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
RészletesebbenObjektumelvű programozás
Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé
RészletesebbenC++ 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észletesebbenSzé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észletesebbenProgramozás 1. 2.gyakorlat
Programozás 1. 2.gyakorlat Ismétlés Objektum: Egy a való világból vett elem (ami lehet elvonatkoztatott is) számítógépes ábrázolása. Pl: Kurzus, Személy stb Minden Objektum rendelkezik: Állapottal Viselkedéssel
RészletesebbenBevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 5. előadás Objektumorientált programozás és tervezés 2014.03.10. Giachetta Roberto groberto@inf.elte.hu
RészletesebbenFogalmi modellezés. Ontológiák Alkalmazott modellező módszertan (UML)
Fogalmi modellezés Ontológiák Alkalmazott modellező módszertan (UML) Fogalom képzés / kialakítás Cél: Példák: A fogalom képzés segít minket abban, hogy figyelmen kívül hagyjuk azt, ami lényegtelen idealizált
RészletesebbenObjektumorientá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észletesebbenProgramozás II. 2. gyakorlat Áttérés C-ről C++-ra
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,
RészletesebbenI. 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észletesebbenObjektumorientá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észletesebbenDr. 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észletesebbenInterfészek. PPT 2007/2008 tavasz.
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 2 Már megismert fogalmak áttekintése Objektumorientált
RészletesebbenAdatstruktúrák, algoritmusok, objektumok
Adatstruktúrák, algoritmusok, objektumok 3. Az objektumorientált paradigma alapelemei Objektum Osztály Példányosítás A konstruktor és a destruktor Osztályok közötti kapcsolatok Miklós Árpád, BMF NIK, 2006
RészletesebbenBá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észletesebbenMá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észletesebbenSmalltalk 3. Osztályok létrehozása. Készítette: Szabó Éva
Smalltalk 3. Osztályok létrehozása Készítette: Szabó Éva Metaosztály fogalma Mint korában említettük, a Smalltalkban mindent objektumnak tekintünk. Még az osztályok is objektumok. De ha az osztály objektum,
RészletesebbenOsztá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észletesebbenOsztá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észletesebbenObjektumorientá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észletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22: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_14-1 - E jegyzet
RészletesebbenObjektum orientált programozás Bevezeté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észletesebbenAbsztrakció. 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észletesebbenBá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észletesebbenOOP #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észletesebbenProgramozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010
Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása
RészletesebbenJava 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észletesebbenGENERIKUS 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észletesebbenBevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum
Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout
RészletesebbenJava programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. 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/17 Tartalomjegyzék
RészletesebbenProgramozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
RészletesebbenVisual 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észletesebbenProgramozá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észletesebbenObjektumorientált paradigma
Objektumorientált paradigma Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Objektumorientált paradigma BEVEZETŐ FOGALMAK 2/77 Bevezetés - Fogalom
RészletesebbenKölcsönhatás diagramok
Kölcsönhatás diagramok Célkitűzés Olvasni tudják az alap UML kölcsönhatás diagramok (kommunikáció és szekvencia) diagramok jelöléseit. 2 Bevezetés Miért léteznek az objektumok? Azért, hogy a rendszer valamilyen
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
RészletesebbenKivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat
Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot
Részletesebben1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
RészletesebbenObjektumorientá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észletesebbenC++ 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észletesebbenJava é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észletesebbenProgramozá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észletesebbenPelda ö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észletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenElőzmények 2011.10.23.
Előzmények Dr. Mileff Péter A 80-as évek közepétől a szoftverek komplexitása egyre növekszik. Megjelentek az OO nyelvek. Az OO fejlesztési módszerek a rendszer különböző nézőpontú modelljeit készítik el.
RészletesebbenGyakorlati 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észletesebbenJava 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észletesebbenObjektum 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észletesebbenObjektum 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észletesebbenModellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK
Modellinformációk szabványos cseréje Papp Ágnes, agi@delfin.unideb.hu Debreceni Egyetem EFK Tartalom MOF, UML, XMI Az UML és az XML séma MDA - Model Driven Architecture Networkshop 2004 2 Az OMG metamodell
RészletesebbenBevezetés a Programozásba II 2. előadás. Adattípusok megvalósítása egységbe zárással. Adattípusok megvalósítása egységbe zárással
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 2. előadás Adattípusok megvalósítása egységbe zárással 2014.02.17. Giachetta Roberto groberto@inf.elte.hu
RészletesebbenUML (Unified Modelling Language)
UML (Unified Modelling Language) UML (+ Object Constraint Language) Az objektum- modellezés egy szabványa (OMG) UML A 80-as, 90-es években egyre inkább terjedő objektum-orientált analízis és tervezés (OOA&D)
RészletesebbenELTE SAP Excellence Center Oktatóanyag 1
Oktatóanyag 1 Oktatóanyag 2 Az oktatás folyamán használt példák a fent látható egyszerű modell implementációi. Oktatóanyag 3 A definíciós részben definiálja a fejlesztő az egyes attribútumokat, metódusokat,
RészletesebbenProgramozá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észletesebbenTö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észletesebbenStatikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
RészletesebbenS01-8 Komponens alapú szoftverfejlesztés 2
S01-8 Komponens alapú szoftverfejlesztés 2 Tartalom 1. Komponens megvalósítása: kölcsönhatás modell, viselkedési vagy algoritmikus modell és strukturális modell. 2. Komponens megtestesítés: finomítás és
RészletesebbenEseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.
Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb
RészletesebbenBevezeté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észletesebbenC++ 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észletesebbenMiután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:
Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba
RészletesebbenObjektum orientált software fejlesztés (Bevezetés)
Objektum orientált software fejlesztés (Bevezetés) Lajos Miskolci Egyetem Általános Informatikai Tanszék Út az objektum orientált szemléletig 1. Klasszikus módszerek: program = adatszerkezetek + algoritmusok
RészletesebbenObjektum orientált kiterjesztés A+ programozási nyelvhez
Szegedi Tudományegyetem Informatikai Tanszékcsoport Objektum orientált kiterjesztés A+ programozási nyelvhez Diplomamunka terve Készítette: Bátori Csaba programtervező matematikus hallgató Témavezető:
RészletesebbenBevezeté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észletesebbenMUNKAANYAG. Szabó Mária. Programozás - Objektumorientált. gyakorlatban. A követelménymodul megnevezése: Informatikai ismeretek
Szabó Mária Programozás - Objektumorientált programozás a gyakorlatban A követelménymodul megnevezése: Informatikai ismeretek A követelménymodul száma: 1155-06 A tartalomelem azonosító száma és célcsoportja:
RészletesebbenProgramozás II. 4. Dr. Iványi Péter
Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include
RészletesebbenAlkatresz::Alkatresz(string n; int csz, int a) { nev = n; cikkszam = csz; ar = a; };
1. Mintapélda Feladat: Egy ipari környezetben a gyártott szerelvények tetsz leges számú alkatrészekb l állhatnak, illetve önmagában is hat szerelvényeket, azaz hierarchikus felépítés ek, természetesen
RészletesebbenFüggőség injekció Konstantinusz Kft 2010
Függőség injekció Konstantinusz Kft 2010 1 Tartalomjegyzék 1 Tartalomjegyzék 2 2 Bevezetés 3 3 Függőségek formái 4 4 Függőség kezelés problémái 8 5 Megvalósítás 9 2/16 2 Bevezetés Egy objektum modellben
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
RészletesebbenSZOFTVERFEJLESZTÉ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észletesebbenSzerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22
Szerializáció Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) Szerializáció 2014 1 / 22 Tartalomjegyzék 1 Szerializációs Alapfogalmak 2 Szerializációs Megoldások Object Szerializáció XML
RészletesebbenObjektum orientáltság alapjai A Java nyelv Fordítás - futtatás
Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás Objektum orientáltság alapjai Objektum: A való világ egy elemének ábrázolása, amely minden esetben rendelkezik: Állapottal,Viselkedéssel,Identitással
RészletesebbenInterfé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észletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 8. ELŐADÁS - OBJEKTUMOK, OSZTÁLYOK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenBevezetés a programozásba előadás: Öröklődés
Bevezetés a programozásba 2 5. előadás: Öröklődés emlékeztető Tagfüggvény struct koord { double x,y,r; void set(double ux, double uy) { x=ux; y=uy; r=sqrt(x*x+y*y); } Használat: koord k; k.set(4,5); Egységbezárás
RészletesebbenA Java nyelv. Dialógus ablakok. Elek Tibor
A Java nyelv Dialógus ablakok Elek Tibor Dialógus ablakok Szerepe: felbukkanó ablak (üzenet, input) Felépítése, használata majdnem ua., mint JFrame Tulajdonos: lehet tulajdonosa, amellyel együtt ikonizálódik,
RészletesebbenObjektumorientáció, objektumorientált szemlélet
Objektumorientáció, objektumorientált szemlélet Adatbáziskezelés és könyvtári rendszerszervezés 1 2014 Objektumorientált elemzés/tervezés Azt a fejlesztési szemléletet, amelyben a modellezett rendszer
RészletesebbenKomplex záróvizsga témakörök Gazdaságinformatikus szak Pénzintézeti informatikus szakirány 2018
Komplex záróvizsga témakörök Gazdaságinformatikus szak Pénzintézeti informatikus szakirány 2018 Objektumorientált tervezés és programozás 1. (4 kredit) 1. Osztály, objektum. Az osztály szerkezete. Az objektum
RészletesebbenA dokumentáció felépítése
A dokumentáció felépítése Készítette: Keszthelyi Zsolt, 2010. szeptember A szoftver dokumentációját az itt megadott szakaszok szerint kell elkészíteni. A szoftvert az Egységesített Eljárás (Unified Process)
RészletesebbenObjektumelvű alkalmazások fejlesztése 6. gyakorlat. Öröklődés, polimorfizmus. Öröklődés Kódismétlődés objektum-orientált szerkezetben
Eötvös Loránd Tudományegyetem Informatikai Kar Objektumelvű alkalmazások fejlesztése 6. gyakorlat, polimorfizmus 2011.10.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Kódismétlődés
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok
RészletesebbenÖ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észletesebben10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)
10-es Kurzus OMT modellek és diagramok OMT metodológia OMT (Object Modelling Technique) 1 3 Modell és 6 Diagram Statikus modell : OMT Modellek és diagramok: Statikus leírása az összes objektumnak (Név,
RészletesebbenJAVA 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és az instanceof operátor
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észletesebbenMagas szintű adatmodellek Egyed/kapcsolat modell I.
Magas szintű adatmodellek Egyed/kapcsolat modell I. Ullman-Widom: Adatbázisrendszerek. Alapvetés. 4.fejezet Magas szintű adatmodellek (4.1-4.3.fej.) (köv.héten folyt.köv. 4.4-4.6.fej.) Az adatbázis modellezés
RészletesebbenProgramozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 6. gyakorlat 2017. október 16-20. 6. gyakorlat Programozási nyelvek II.: JAVA 1 / 1 Az 6. gyakorlat tematikája Túlterhelés - összefoglalás statikus adattagok és metódusok
RészletesebbenJava 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észletesebbenHelyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?
A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály
Részletesebben