Adatstruktúrák, algoritmusok, objektumok
|
|
- Tibor Lakatos
- 6 évvel ezelőtt
- Látták:
Átírás
1 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,
2 Objektum Definíció Az objektum állapottal rendelkező entitás, amely a benne tárolt adatok felhasználásával feladatokat hajt végre és egyéb objektumokkal kommunikál Adatokat és algoritmusokat tartalmaz Saját feladatait önállóan végzi Saját életciklussal rendelkezik A külvilággal meghatározott üzeneteken keresztül tartja a kapcsolatot Az objektum saját adatait mezőknek, beépített algoritmusait metódusoknak nevezzük Az objektumok metódusaikkal vesznek részt az üzenetváltásokban Az üzenetek elemei: célobjektum, metódus, paraméterek, eredmény 2 2
3 Objektum Állapotok, viselkedés és azonosság Az objektum állapotát mezői aktuális értéke határozza meg Az objektum állapota az elvégzett műveletek hatására megváltozhat Az objektum mindig megjegyzi aktuális állapotát Két objektum állapota akkor egyezik meg, ha minden megfelelő mezőértékük megegyezik Minden objektum egyértelműen azonosítható Az objektumok önállóak (saját életciklusuk határozza meg őket) Ha két objektum állapota megegyezik, maguk az objektumok akkor sem azonosak Az objektum viselkedését az általa ismert (az objektumba épített) algoritmusok határozzák meg 3 Példa: programozható időkapcsoló 3
4 Osztály Definíció Az osztály egy adott objektumtípust határoz meg annak adataival (mezők) és beépített algoritmusaival (metódusok) Az osztályok egyfajta mintát, sablont adnak az objektumokhoz Az osztályok tehát azonos adatszerkezetű és viselkedésű objektumokat írnak le Minden objektum valamilyen létező osztályba tartozik Más kifejezéssel élve az egyes objektumok azon osztályok példányai, amelyekhez tartoznak Egy osztályból több példány is létrehozható Egy osztály összes példánya ugyanazokat a mezőket és metódusokat tartalmazza Az egyes példányok létrehozásuk pillanatában azonos állapotúak, ezt követően viszont önállóan működnek tovább Léteznek az osztályra (és nem az egyes objektumpéldányokra) jellemző mezők és metódusok is 4 4
5 Osztály Példa: az Autó osztály és két példánya (UML) Objektum (példány) Meződefiníciók Metódusdefiníciók Osztály (típus) EgyikKocsi.Beindul(); EgyikKocsi.Megy(); MásikKocsi.Beindul(); Autó Gyártó Típus Rendszám Beindul() Leáll() Megy() Fordul() Szerviz() Példányosítás Példányosítás EgyikKocsi : Autó Suzuki Ignis 4WD 5MT KQX-987 Objektum (példány) MásikKocsi : Autó Lamborghini Murciélago LP640 KQX-988 Mezőértékek Mezőértékek 5 5
6 Objektumorientált szoftverciklus Elemzés, tervezés, megvalósítás Objektumorientált elemzés (OOA) A megoldandó feladat leírása osztályok és objektumok segítségével Objektumorientált tervezés (OOD) A feladatleírás objektumközpontú részekre bontása (dekompozíciója) Logikai modell az osztályok és objektumok Fizikai modell a logikai modellt megvalósító modulok és folyamatok Statikus és dinamikus jellemzők Objektumorientált programozás (OOP) A modell megvalósítása egymással kommunikáló, dinamikusan létrehozott objektumok segítségével, melyek egy-egy osztály példányai OO stílusú programokat bármilyen nem OO nyelven is lehet írni, csak nagyon nehéz Részletesebb, pontosabb információk később (a szoftvertechnológiával foglalkozó tantárgyak keretében) 6 6
7 Metódusok általános típusai Objektumok létrehozása (példányosítás): konstruktor Ahhoz, hogy az objektumokat használhassuk, először létre kell hozni őket Ez a művelet a példányosítás Alapja az osztály megadott definíciója A példányosítást követően érhetők el az objektumok metódusai és ekkortól érhető el az objektumok mezőinek értéke A konstruktor egy olyan metódus, amelynek segítségével példányok (objektumok) hozhatók létre egy osztályból Feladatai: Új objektum létrehozása Az objektumhoz tartozó mezők kívánt kezdőértékének beállítása Egyéb szükséges kezdeti műveletek végrehajtása Minden osztályhoz tartoznia kell konstruktornak Ha külön nem definiálunk konstruktort, akkor is létrejön 7 7
8 Metódusok általános típusai Objektumok megszüntetése (felszámolás): destruktor Az objektumokat az utolsó használat után fel kell számolni Minden objektum külön-külön szüntethető meg (önállóan léteznek) A destruktor egy olyan metódus, melynek segítségével létező objektumok szüntethetők meg Egyetlen feladata az objektum megszüntetése Az objektumok felszámolása lehet a programozó feladata vagy történhet automatikusan is Egy objektum akkor számolható fel automatikusan, ha a későbbiekben már biztosan nincs rá szükség Az automatikus felszámolás fejlettebb és jóval kevésbé hibaérzékeny megoldás Automatikus felszámolás esetén nincs feltétlenül szükség destruktorra 8 8
9 Metódusok általános típusai Módosító, kiválasztó és iterációs metódusok Módosító metódusok Megváltoztatják az objektum állapotát Kiválasztó metódusok Hozzáférést biztosítanak az objektum adataihoz, de nem változtatják meg őket (így az objektum állapotát sem) Iterációs metódusok Az objektum adatainak valamely részhalmazán lépkednek végig, és az adott részhalmazra vonatkozóan végeznek el műveleteket 9 9
10 Osztályok közötti kapcsolatok 1. Leszármazás (ún. IS-A kapcsolat) Egy osztály leszármazottai öröklik az osztály jellemzőit Rendelkeznek ugyanazokkal a mezőkkel Tartalmazzák ugyanazokat a metódusokat Ebben a specializációs kapcsolatban a leszármazottat utódnak, az eredeti osztályt ősosztálynak nevezzük A leszármazottak bővíthetik az ősosztály adatait és algoritmusait Új mezőket adhatnak a meglévőkhöz Új metódusokat definiálhatnak Meglévő metódusok működését módosíthatják A leszármazottak minden műveletre képesek, amelyre az ősosztály képes volt Az utódosztály példányai használhatók az ősosztály példányai helyett 10 10
11 Osztályok közötti kapcsolatok Példa: leszármazás (UML) Jármű Gyártó Típus Tulajdonos Beindul() Leáll() Halad() Szerviz() Változatlanul örökölt mezők Új mezők Autó Gyártó Típus Tulajdonos Meghajtás Rendszám Hajó Gyártó Típus Tulajdonos Merülés Hívókód Repülő Gyártó Típus Tulajdonos Szárnyfesztáv Hatótávolság Változatlanul örökölt metódusok Módosított metódusok Új metódus(ok) Beindul() Leáll() Halad() Szerviz() Fordul() Beindul() Leáll() Halad() Szerviz() Elsüllyed() Beindul() Leáll() Halad() Szerviz() Felszáll() Leszáll() 11 11
12 Osztályok közötti kapcsolatok 2. Asszociáció Az asszociáció osztályok közötti tetszőleges típusú viszony Általában az asszociáció konkrét elnevezése fejezi ki a viszonyt Szerep (pl. az ember az autó tulajdonosa) Cselekvés (pl. az ember vezeti az autót) Multiplicitás: vannak egy-egy, egy-több és több-több típusú asszociációk Irányultság: az asszociáció lehet egy- vagy kétirányú Asszociációs kapcsolat áll fenn két osztály között, ha az egyiknek a saját helyes működéséhez ismernie kell a másikat Példa: egy osztály használ egy másik osztályt (ún. USES-A kapcsolat) 12 12
13 Osztályok közötti kapcsolatok Példa: asszociáció (UML) Asszociáció Iskola alkalmaz Oktató 0..* órán vesz részt tanul 0..* Hallgató birtokol Leckekönyv 13 13
14 Osztályok közötti kapcsolatok 3. Aggregáció és kompozíció (ún. HAS-A kapcsolat) Az aggregáció az asszociáció speciális esete: tartalmazási kapcsolat A kapcsolat aszimmetrikus és tranzitív A tartalmazó osztály példányai magukban foglalják a tartalmazott osztály egy vagy több példányát A tartalmazó és a tartalmazott osztály egymástól függetlenül létezhetnek A tartalmazott átveheti (de nem örökli) a tartalmazó egyes jellemzőit A kompozíció az aggregáció speciális esete: szigorú tartalmazási kapcsolat Egy tartalmazottnak mindig csak egy tartalmazója lehet Egy tartalmazó viszont tetszőleges számú tartalmazott példánnyal rendelkezhet A tartalmazó és a tartalmazott életciklusa közös 14 14
15 Osztályok közötti kapcsolatok Példa: aggregáció és kompozíció (UML) Ablak Kompozíció Varázsló Képnyomtató Lista 1 Kép 1 Aggregáció 0..* Bélyegkép Gomb 5 3 Címke 15 15
16 Az OOP néhány csapdája Mire kell ügyelni az osztályok kialakításánál? Rossz döntés az osztályok közötti kapcsolat típusának megválasztásánál Pl. leszármazás helyett aggregáció vagy fordítva Leszármazási kapcsolat helytelen kialakítása Az ősosztály túl keveset vagy túl sokat tud Önkéntelenül (nem látható módon) beépített feltételezések Az ősosztály feltételez bizonyos állapotváltozásokat, a metódusok végrehajtási sorrendjét ez nem biztos, hogy a leszármazottaknál is igaz lesz Felduzzasztott osztályok A túl sok mező és metódus, a túl hosszú metódusok azt jelezhetik, hogy valamilyen módon fel kell bontani az osztályt Elnevezési anomáliák 16 16
Adatstruktú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 1 Objektum Definíció Az
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é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é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é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é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é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é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é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é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é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é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é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é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é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é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é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észletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 7. előadás AZ OOP alapelvei Egységbezárás(Encapsulation) Az adatokat es a hozzájuk tartozó eljárásokat egyetlen egységben (osztályban) kezeljük. Az osztály adatmezői
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é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é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észletesebbenAAO 1. félév EA - PDF 01
AAO. félév EA - PDF 0. Szamitasi modellek es programozasi paradigmak 00. V.0 szeptember. Modellezési alapelvek A modellezés celja a vilag minel teljesebb kor megertese Elemek, folyamatok, osszefuggesek,
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é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é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é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é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észletesebbenAdatstruktúrák, algoritmusok, objektumok
Adatstruktúrák, algoritmusok, objektumok 2. Az objektumorientált programozási paradigma 1 A szoftverkrízis Kihívások a szoftverfejlesztés módszereivel szemben 1. A szoftveres megoldások szerepe folyamatosan
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é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é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é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észletesebbenIII. 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á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észletesebbenOsztá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é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é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é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é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é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é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észletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. 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/20 Tartalomjegyzék
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é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észletesebbenObjektumorientá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észletesebbenOOP é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é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é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észletesebbenWeb-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é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észletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 72
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 12. ELŐADÁS - UML MODELLEZÉS 2014 Bánsághi Anna 1 of 72 I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma Procedurális
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é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észletesebbenC++ 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é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észletesebben58. Osztály, objektum fogalma, implementációs lehetőségek(shagreen) 59. Egységbezárás (elvi háttere, gyakorlati megvalósítás) (Shagreen)
58. Osztály, objektum fogalma, implementációs lehetőségek(shagreen) 59. Egységbezárás (elvi háttere, gyakorlati megvalósítás) (Shagreen) 60. Öröklés (elvi háttere, gyakorlati megvalósítás) (Shagreen) 61.
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észletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
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észletesebbenElemi 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é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é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észletesebbenProgramozá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é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észletesebbenProgramfejleszté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észletesebbenAz iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra
Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási
Részletesebben1.sz melléklet Nyári gyakorlat teljesítésének igazolása Hiányzások
1.sz melléklet Nyári gyakorlat teljesítésének igazolása Hiányzások - Az összefüggő szakmai gyakorlatról hiányozni nem lehet. Rendkívüli, nem tervezhető esemény esetén az igazgatóhelyettest kell értesíteni.
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észletesebbenHalmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1
Halmazelmélet 1. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Halmazelmélet p. 1/1 A halmaz fogalma, jelölések A halmaz fogalmát a matematikában nem definiáljuk, tulajdonságaival
RészletesebbenObjektum-orientált programozás
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.
RészletesebbenGlobális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
RészletesebbenOsztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
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észletesebbenProgramozási technológia
Programozási technológia Dinamikus modell Tevékenységdiagram, Együttműködési diagram, Felhasználói esetek diagramja Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Tevékenység diagram A tevékenység (vagy
RészletesebbenSzakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman
Szakterületi modell A fogalmak megjelenítése 9. fejezet Applying UML and Patterns Craig Larman 1 Néhány megjegyzés a diagramokhoz Ez a tárgy a rendszer elemzésről és modellezésről szól. Noha például egy
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észletesebbenDr. Mileff Péter
Dr. Mileff Péter 1 2 1 Szekvencia diagram Szekvencia diagram Feladata: objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé
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észletesebbenAz importálás folyamata Felhasználói dokumentáció verzió 2.1.
Az importálás folyamata Felhasználói dokumentáció verzió 2.1. Budapest, 2008. Változáskezelés Verzió Dátum Változás Pont Cím Oldal 2.1. 2008.01.17. A teljes dokumentáció megváltozott Kiadás: 2008.01.17.
RészletesebbenSzoftver-technológia II. Modulok és OOP. Irodalom
Modulok és OOP Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 7. 2 Modulok és objektumok Modulok Lexikálisan folytonos utasítás sorozatok,
RészletesebbenBevezetés a Programozásba II 8. előadás. Polimorfizmus Giachetta Roberto
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 8. előadás 2014.03.31. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Öröklődés
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észletesebben1. 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észletesebbenOOP 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észletesebbenTöbbrétegű műszaki nyilvántartás. NETinv
Többrétegű műszaki nyilvántartás NETinv NETinv TÁVKÖZLÉSI SZOLGÁLTATÓK, KÖZMŰVÁLLALATOK, ÁLLAMIGAZGATÁSI INTÉZMÉNYEK ÉS NAGYVÁLLATOK SZÁMÁRA A NETvisor NETinv műszaki nyilvántartó rendszere a távközlési
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észletesebbenBevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 11. előadás 2014.05.12. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Adatszerkezetek
RészletesebbenHalmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy
1. előadás: Halmazelmélet Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy hozzátartozik-e,
RészletesebbenVizuális és eseményvezérelt programozás , II. félév BMF NIK
Vizuális és eseményvezérelt programozás 2006 2007, II. félév BMF NIK Eseménykezelés A képviselő( delegate ) Képviselők C# nyelvi megvalósítása Metódushívás képviselőn keresztül Az esemény ( event ) Esemény
RészletesebbenS0-02 Típusmodellek (Programozás elmélet)
S0-02 Típusmodellek (Programozás elmélet) Tartalom 1. Absztrakt adattípus 2. Adattípus specifikációja 3. Adattípus osztály 4. Paraméterátadás 5. Reprezentációs függvény 6. Öröklődés és polimorfizmus 7.
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észletesebbenProgramozási technológia 1.
ngleton Sin ELTE-IK + st: boo ol Programozási technológia 1. 2. gyakorlat: Programozási paradigmák, az objektumorientált tált programozás Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
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é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é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é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é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észletesebben