1 / 22

Gyurkó György

Objektumorientált elemzés és tervezés. Alapfogalmak. Gyurkó György. Amiben az OO megközelítés különös. Feltalálta a szoftverépítés, az absztrakció (vele az elrejtés), az újrafelhasználás

summer-dean
Download Presentation

Gyurkó György

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objektumorientáltelemzés és tervezés Alapfogalmak Gyurkó György

  2. Amiben az OO megközelítés különös Feltalálta a szoftverépítés, az absztrakció (vele az elrejtés), az újrafelhasználás optimális alapegységét az objektumot (típusszinten az osztályt); és arra ráépített néhány igen hasznos konstrukciót (öröklődés, polimorfizmus).

  3. Az objektum(a szerkezet és a viselkedés egysége)

  4. Osztály (= típus) Azonos osztályba tartoznak az azonos szerkezetű és viselkedésű objektumok. Az osztály: • egyrészt a bele tartozó objektumok halmaza, • másrészt a közös vonásokat (a közös sémát) hordozó kategória.

  5. Osztály és példánya

  6. Megjegyzések: Egy objektum tökéletes másolata egy új objektumot képez. - Tehát bár két objektum minden attribútum-értékében azonos mégis két különböző objektum. Következmény: Az objektum nem azonosítható valamely attribútumával. Minden objektumnak belső azonosítója van, ami a memóriában mutatóra (memóriacímre) képeződik le.

  7. Általánosítás és specializáció Általánosítás---------> <---------Specializáció

  8. Az öröklődés

  9. Az öröklődés(folytatás) Analitikus öröklődés Utódnál: plusz attribútum vagy plusz művelet vagy valamely műveletének más a megvalósítása Korlátozó öröklődés Az utódnál valamely attribútum vagy művelet nem értelmezhető. Pl. a négyzet (mint a téglalap utódja) esetén az egyik oldallal párhuzamos nyújtás. (A szoftvertervezésben általában kerülendő!)

  10. Megjegyzés: Az öröklődés az újrafelhasználás egyik módja. Minimális redundancia a tervezésben - egyértelműség

  11. Polimorfizmus Az ős egy művelete új metódust (megvalósítást) kap az utódnál, valamely attribútum új értelmezést kap.

  12. Megjegyzés: A polimorfizmus teljessé teszi az elrejtést. Elrejti azt a tényt, hogy azonos műveletnek különböző osztályoknál más a megvalósítása. Szilárd, hordozható alkalmazás. A polimorfizmus következménye: A program egy változója futási időben a programkódban adott típusának (=sztatikus típusának)bármely leszármazott osztályából vett példányt hivatkozhat (=dinamikus típus).

  13. A polimorfizmus haszna: idomA: Téglalap; idomB: Kör; IF idomA.Terület() < idomB.Terület() THEN … Ugyanez polimorfizmus nélkül: idomA: Téglalap; idomB: Kör; IF Tégla_Terület(idomA) < Kör_terület(idomB) THEN … Az utóbbi kód érzékeny arra, ha egy téglalap helyett kört (vagy fordítva) kell venni. Az objektumorientált kódot akkor sem kell módosítani, ha a valamelyik objektum egy később definiált osztályba tartozik (pl. háromszög).

  14. Absztrakt osztály Csak olyan objektumok tartoznak bele, amelyek valamely alosztályának is példányai. (Nincsenek közvetlen példányai.) Absztrakt művelet: A műveletnek az ős osztálynál nincs megvalósítása (metódusa), az csak az alosztályokban rendelődik a művelethez. – A műveletet csak azért tüntetik fel a magasabb osztály szintjén, hogy utaljanak arra a legszélesebb objektumhalmazra, amire a művelet értelmezhető. (Java: Van legalább egy absztrakt művelete.)

  15. Példányattribútum: Minden példányra új másolat jön létre belőle. Osztályattribútum: Az osztály egy példányban létezik. Osztály attribútumai: példányattribútumok + osztályattribútumok. Példányművelet: Példány hajtja végre. Közvetlenül példányattribútumokat kezel. Osztályművelet: Osztály hajtja végre. Közvetlenül csak osztályattribútumokat ér el. Konstruktor: Ez hozza létre az osztály egy új példányát, és beállítja annak kezdeti állapotát. (Se nem osztályművelet, se nem példányművelet.) Nem példányosodó osztály: Akár közvetlenül, akár örökölten csak osztályattribútumai és osztályműveletei vannak.

  16. Az újrafelhasználás esetei • Példányosítás • Öröklődés (kiegészülve a polimorfizmussal) • Kész objektumok újrafelhasználása

  17. Objektumok kapcsolataiAsszociáció Az asszociáció olyan kapcsolat, ami kifejezésre jut az egyik vagy mindkét objektum szerkezetében: Az egyik objektumot vagy annak mutatóját attribútumként tartalmazza a másik objektum szerkezete.

  18. Objektumok kapcsolataiAsszociáció (folytatás) • Kapcsolat • neve (+szerepnevek) • multiplicitása • navigáció iránya (láthatóság) • minősítése

  19. Objektumok kapcsolataiAggregáció és kompozíció Általában az aggregációnak a részobjektum mutatója képezi egy attribútumát. Általában a kompozíciónak közvetlen attribútuma a komponens.

  20. Objektumok (osztályok) kapcsolataiFüggőség Ez a kapcsolat nem látszik az osztályok szerkezetéből.

  21. Megjegyzések: Egy OO alkalmazás (program) nem utasítások sorozata, hanem objektumok együttműködése. Az objektumok közötti kapcsolat mindig azt jelenti, hogy az egyik objektum (az ügyfél = a kliens) használja a másikat (a szolgáltatót = a szervert). Az ügyfél objektumnak „látni” kell a szolgáltató objektumot, különben nem tudja felkérni a szolgáltatásra. - Ha két objektum kölcsönösen használja egymást, akkor kölcsönösen látniuk kell egymást. Egy x objektum általában úgy látja az y objektumot, hogy az x-nek egyik attribútuma vagy maga az y, vagy az y mutatója.

  22. Osztályok közötti függőségek

More Related