1 Objektum orientált programozás Modellezés objektumokkal Nagy Szilvia.

Slides:



Advertisements
Hasonló előadás
ADATBÁZISOK.
Advertisements

A normalizálás az adatbázis-tervezés egyik módszere
C++ programozási nyelv Gyakorlat hét
Adatbázis-kezelés.
Programozás III OOP ALAPOK.
Rendszertervezés GIMP.
Függőségek, normálformák
Rendszerfejlesztés.
Funkcionális függés Redundancia 1NF, 2NF, 3NF
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
Programozás III KOLLEKCIÓK 2..
Az egyed-kapcsolat modell
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
13.a CAD-CAM informatikus
Adatbázis-kezelés.
Bevezetés a Java programozásba
Vizuális modellezés Uml és osztálydiagram UML eszközök
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 5. Gyakorlat Öröklődés, virtuális függvények,
Halmazok, relációk, függvények
2011. szeptember Az információtechnológia menedzselése Az információs rendszer fejlesztése Image of the slide: www2.raritanval.edu/departments/busadmin/.../Ch07-IntrotoBusiness.ppt.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/17 C++ programozási nyelv Gyakorlat - 7. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 5. rész – Osztályok III.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
Modellezés és tervezés c. tantárgy Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Matematikai Intézet Mérnöki Informatikus MSc 9. Előadás és.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Szoftvertechnológia Rendszertervezés.
Ficsor Lajos CPP6 / 1 Virtuális bázisosztály Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
Bevezetés a C++ programozási nyelvbe
Objektumok. Az objektum információt tárol, és kérésre feladatokat hajt végre. Az objektum adatok (attribútumok) és metódusok (operációk,műveletek) összessége,
*** HALMAZOK *** A HALMAZ ÉS MEGADÁSA A HALMAZ FOGALMA
Lineáris algebra.
1Objektumorientált elemzés és tervezés - Alapfogalmak Gyurkó György Objektumorientált elemzés és tervezés Alapfogalmak.
Objektumorientált tervezés és programozás II. 3. előadás
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
Objektumorientált programozás
Objektumorientált tervezés Út az objektumig Az objektum fogalma, jellemzői Objektummal kapcsolatos fogalmak Hardverfogalmak A rendszer modell nézetei Objektumorientált.
Adatbázis-kezelés.
1 Objektum orientált programozás Öröklődés: többszörös öröklődés, konstruktorok, destruktorok, overloading Nagy Szilvia.
Objektum orientált programozás
Objektum orientált programozás
Adatbázis alapfogalmak
Objektumvezérelt rendszerek tervezése
Programozás III OOP ÖRÖKLŐDÉS.
Adamkó Attila UML2 Adamkó Attila
Normálformák Takács Gábor mérnök informatikus, okl. mérnöktanár
Gyurkó György. Az állapotmodellezés célja Általánosságban ugyanaz, mint a többi dinamikus modellezési technikáé: Jobban megismerni a problémát. Finomítani.
Objektumorientált alapjai ISZAM III.évf. részére Bunkóczi László.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Ficsor Lajos CPP2 / 1 Származtatási mechanizmus a C++ nyelvben Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
Haladó C++ Programozás Programtervezési minták – alapok Sonkoly Balázs
1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia.
Programozás I. 3. gyakorlat.
Adatbázisszintű adatmodellek
Gazdasági informatika II (SZIE GTK GVAM 1. évfolyam) 2009/2010. tanév 2. félév.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Szemantikai adatmodellek
Objektumorientált fejlesztés – szoftverobjektumok fizikai megjelenése
Neumann János Informatikai Kar
Hernyák Zoltán Programozási Nyelvek II.
OOP és Python Vincellér Zoltán.
Előadás másolata:

1 Objektum orientált programozás Modellezés objektumokkal Nagy Szilvia

2 Modelltípusok Objektummodell: az adatokra koncentráló modell; struktúra, attribútumok, metódusok, objektumok közötti kapcsolat leírása osztálydiagrammal: házmacska egerészik a környékén otthon van benne

3 Modelltípusok Dinamikus modell: rögzíti az időbeliséget, a sorrendiséget; a vezérlést és ütemezést leíró modell folyamatábra, kommunikációs diagram vagy állapotdiagram alszik dorombol hízelegfigyel egerészikeszik

4 Modelltípusok Funkcionális modell: a végrehajtandó funkciókat, adattranszformációkat leíró modell adatfolyam-ábra forrás nyelő néző jegyrendelés számlázás számlanyilvántartó helynyilvántartó mit, mikor pénz jegykiadás hely jegy számla

5 Objektummodell Attribútumok: az objektum tulajdonságait meghatározó, az objektumban tárolt adatok. számuk és elnevezésük megadja a struktúrát változó, lehet összetett, de nem lehet objektum lehet közvetlen adat (változó) vagy referencia (pointer) az attribútumok lehetőleg egymástól függetlenek legyenek, és teljesen leírják az objektum modell szempontjából fontos tulajdonságait

6 Objektummodell Attribútumok típusai: elnevezés típus – név, anyja neve, személyi szám, alvázszám, törzskönyv szám,… általában nem változik, de ha szükséges, kijavítható leíró jellegű – az objektumok belső jellemzőit írják le, az objektumot ért hatások kimeneteként megváltozhatnak. referencia típusú – azon attribútumok, amelyek más objektumokba mutatnak

7 Objektummodell Relációk: láncolás: objektumok (példányok) közötti logikai vagy fizikai kapcsolat asszociáció: az osztályok közötti kapcsolat ember név cím kutya név kor anya név cím gyerek név sz. idő szül gazdája opcionális egy-több 1+

8 Objektummodell Relációk: A relációknak is lehetnek attribútumai – az asszociációk is felvehetnek osztály formát hallgató név Neptun-kód tárgy cím azonosító felvesz jegy

9 Objektummodell Relációk: Azonos osztálybeli példányok közötti szimmetrikus és nem szimmetrikus relációk ember név cím levelezőtárs ember név cím levelet küld címzett feladó szerepek

10 Objektummodell Normalizálás: egy objektum szemantikailag összetartozó attribútumokat kell, hogy tartalmazzon. Azaz az adatokat helyesen kell szervezni, ún. normál formák szerint. Egy objektum attribútumait úgy célszerű megválasztani, hogy azok az objektum egészére vonatkozzanak. kutya név fajta kor gazda oltás ideje gazda autója inkább a gazda objektumba

11 Objektummodell Öröklés: olyan implementációs eszköz, amely lehetővé teszi azt, hogy egy osztályból másik osztály származzon. A származtatott osztály rendelkezik az eredeti osztályban definiált attribútumokkal szerkezettel és viselkedéssel. Eredmény: fogalmi egyszerűsödés letisztulás, a hasonló osztályok összevonása korábbi osztálykönyvtárak használata, az osztályok újrahasznosíthatósága

12 Objektummodell Öröklés: az az osztály, amelyből örökölnek az alaposztály (superclass), az az osztály, amelyik örököl a származtatott osztály (subclass) Egy öröklődési sorban ez osztály fölött minden alaposztály az adott osztályunk őse (ancestor) Egy osztályból (akár közvetetten)származtatott osztályok az osztályunk leszármazot tai (descendent)

13 Objektummodell Öröklés: általában az osztály specializálódik, esetleg általánosítjuk. felhasználhatunk absztrakt osztályt az örökléshez ember név szül. idő kor(): int diák Neptun-kód sikeres vizsgaszám vizsga(s.vizsgaszám) diák név születési idő Neptun-kód sikeres vizsgaszám kor(): int vizsga(s.vizsgaszám) absztrakt: nem használjuk másra, nem képződik objektum belőle

14 Objektummodell Öröklés: a származtatott metódusok átdefiniálhatók, az új definíció helyettesíti az eredetit. Ilyenkor az eredeti osztályban virtuális (üres) metódusokat definiálunk: ember név szül. idő kor(): int férfi név szül. idő kor(): dátum-szül.idő nő név szül. idő kor(): dátum-szül.idő-x

15 Objektummodell Öröklés: a leszármazott osztályok az ősök valamennyi attribútumát tartalmazza. Lehet az ősőktől örökölt struktúrát megváltoztatni: új attribútum hozzáadásával új metódus hozzáadásával örökölt metódusok átdefiniálásával Fontos, hogy az öröklés során biztosítsuk, hogy az örökölt de átdefiniált metódusok az örökölt attribútumoknak azon részhalmazára képezzenek, amire az eredeti metódusok, azaz …

16 Objektummodell Öröklés: A metódusok öröklésénél figyelni kell, hogy az ősök szabályait ne sértsük meg. Metódusok kiterjesztés e: az átdefiniált metódusok attribútumokra gyakorolt hatása ugyanolyan, mint az ősöknél, csak néhány új dologgal (új attribútumra vonatkozó hatással) bővítjük azt. (téglalap—átlós téglalap)

17 Objektummodell Öröklés: A metódusok öröklésénél figyelni kell, hogy az ősök szabályait ne sértsük meg. Metódusok szűkítés e: az átdefiniált korlátozza a bemeneti paraméterek halmazát. Sem az új, sem az átdefiniált metódusok nem vezethetnek ki a korlátozott attribútumtérből (összeadás—integer összeadás)

18 Objektummodell Öröklés: A metódusok öröklésénél figyelni kell, hogy az ősök szabályait ne sértsük meg. Metódusok módosítás a: az új metódus mind interfész szinten, mind pedig szemantikailag azonos az eredetivel, csak másként van a feladat algoritmizálva, pl a hatékonyság fokozásáért. (egyszerű cserés sorbarendezés—módosított buborékoltató sorbarendezés)

19 Objektummodell Öröklés: A metódusok öröklésénél figyelni kell, hogy az ősök szabályait ne sértsük meg. Metódusok befolyásolás a: a származtatott osztálynak nagyjából olyannak kell lennie mint az ősnek, de nem igazán van logikai összefügés közöttük. A metódusokat át kell definiálni, tekintet nélkül a korábbi feladatra, esetleg az attribútumokkal egészen mást kell csinálni. Nem javasolt!

20 Objektummodell Többszörös öröklés: olyan új osztály definiálása, amely két, vagy több régi osztály tulajdonságait és metódusait egyesíti magában négyszög trapézparalelogramma téglalaprombusz

21 Objektummodell Többszörös öröklés: fontos probléma, hogy egy közös őstől két vagy több ágon ugyanolyan nevű, de máshogy működő metódusokat örökölhetünk, pl. területre: téglalaprombusz négyzet téglalap::terület oldal1*oldal2 rombusz::terület átló1*átló2/2

22 Objektummodell Komponensek: a tartalmazás reláció: rész – egész Aminek a része, az a szülő objektum, a részek pedig a gyermek ek téglalap a oldal átló b oldal középpontb oldalfelezőpont

23 Objektummodell Komponensek: a tartalmazás reláció nem szimmetrikus, ha A része B-nek, B nem része A-nak. A szülő bizonyos – de nem minden – attribútumait átveszi a gyermek, de ha a gyermek olyan üzenetet kap, amelyre nem tud reagálni, akkor feljebb utalja a kérést a szülőnek … amíg kompetens objektumra nem talál

24 Objektummodell Komponens struktúrája: rögzített: a komponens objektumok típusa száma előre megadott változó: csak a szintek száma és az objektumok típusa adott, a komponensek száma változhat rekurzív: az objektum közvetve vagy közvetlen tartal- mazza önmagát program utasitás függvényegyszerű utasítás

25 Objektummodell Delegálás: egy objektum valamely metódusát úgy valósítjuk meg, hogy egy az objektummal komponens viszonyban álló objektum metódusával hajttatjuk végre a feladatot