objektum orient lt programoz s n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Objektum orientált programozás PowerPoint Presentation
Download Presentation
Objektum orientált programozás

Loading in 2 Seconds...

play fullscreen
1 / 25

Objektum orientált programozás - PowerPoint PPT Presentation


  • 51 Views
  • Uploaded on

Objektum orientált programozás. Modellezés objektumokkal Nagy Szilvia. Modelltípusok. Objektummodell: az adatokra koncentráló modell; struktúra, attribútumok, metódusok, objektumok közötti kapcsolat leírása osztálydiagrammal:. egerészik a környékén. ház. macska. otthon van benne.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Objektum orientált programozás' - wilton


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
objektum orient lt programoz s

Objektum orientált programozás

Modellezés objektumokkal

Nagy Szilvia

modellt pusok
Modelltípusok

Objektummodell: az adatokra koncentráló modell; struktúra, attribútumok, metódusok, objektumok közötti kapcsolat leírása

osztálydiagrammal:

egerészik a környékén

ház

macska

otthon van benne

modellt pusok1
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

egerészik

eszik

alszik

figyel

hízeleg

dorombol

modellt pusok2
Modelltípusok

Funkcionális modell: a végrehajtandó funkciókat, adattranszformációkat leíró modell

adatfolyam-ábra

forrásnyelő

helynyilvántartó

jegykiadás

jegy

jegyrendelés

mit, mikor

hely

néző

néző

pénz

számlázás

számla

számlanyilvántartó

objektummodell
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
objektummodell1
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
objektummodell2

ember

név

cím

kutya

név

kor

anya

név

cím

gyerek

név

sz. idő

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

gazdája

opcionális

szül

egy-több

1+

objektummodell3

hallgató

név

Neptun-kód

tárgy

cím

azonosító

jegy

Objektummodell

Relációk:

A relációknak is lehetnek attribútumai – az asszociációk is felvehetnek osztály formát

felvesz

objektummodell4

ember

név

cím

ember

név

cím

Objektummodell

Relációk:

Azonos osztálybeli példányok közötti szimmetrikus és nem szimmetrikus relációk

feladó

címzett

levelezőtárs

levelet küld

szerepek

objektummodell5

kutya

név

fajta

kor

gazda

oltás ideje

gazda autója

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.

inkább a gazda objektumba

objektummodell6
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
objektummodell7
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ármazottai (descendent)

objektummodell8

diák

név

születési idő

Neptun-kód

sikeres vizsgaszám

kor(): int

vizsga(s.vizsgaszám)

ember

név

szül. idő

kor(): int

diák

Neptun-kód

sikeres vizsgaszám

vizsga(s.vizsgaszám)

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

absztrakt: nem használjuk másra, nem képződik objektum belőle

objektummodell9

ember

név

szül. idő

kor(): int

férfi

név

szül. idő

kor(): dátum-szül.idő

név

szül. idő

kor(): dátum-szül.idő-x

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:

objektummodell10
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 …

objektummodell11
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ése:

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)

objektummodell12
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ése:

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)

objektummodell13
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ása:

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)

objektummodell14
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ása:

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!

objektummodell15
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éz

paralelogramma

téglalap

rombusz

objektummodell16
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églalap

téglalap::terület

oldal1*oldal2

rombusz

rombusz::terület

átló1*átló2/2

négyzet

objektummodell17
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 gyermekek

téglalap

b oldal

a oldal

átló

b oldalfelezőpont

középpont

objektummodell18
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

objektummodell19
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ény

egyszerű utasítás

objektummodell20
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