Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaKároly Magyar Megváltozta több, mint 9 éve
1
1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia
2
2 Objektum összefoglalása Az objektum olyan modellje egy dolognak, amely a számára kívülről érkező üzenetekre reagálva valamiképpen viselkedik, van egy kívülről nem látható statikus struktúrája, amely magában foglalja az attribútumokat, melyek az objektum állapotát hivatottak leírni. Egy objektum állapota a struktúrát adott pillanatban kitöltő értékek halmaza. (behavior, structure, state)
3
3 Osztályok és példányok Bizonyos objektumok viselkedése és struktúrája megegyezhet, csak állapotuk különböző: az ilyen objektumok egy közös minta szerint készülnek. Ez a közös minta az osztály (class). Az osztály avagy objektumosztály azonos viselkedésű és struktúrájú objektumok forrása – az objektum pedig a viselkedését meghatározó osztály egy példánya (instance). Minden objektum egyedi, létező dolog; megkülönböztethetőek, függetlenül az aktuális állapotuktól.
4
4 Osztályok és példányok Minden objektum ismeri a saját osztályát. Rajzi jelölés (OMT-módszertan szerint): macska (macska) Brewster-szög (macska) Kiskövércica (macska) Háziállat (macska) Hofi
5
5 Osztályok és példányok Az osztály elemeinek attribútumai is jelölhetők: név: text fajta:text kor: integer szín: int v.text (macska) Brewster-szög fajtátlan 4 fekete (macska) Hofi perzsa 3 fehér macska
6
6 Osztályok és példányok Az attribútumokon kívül a végrehajtható metódusok is feltüntethetők, sőt kezdőértékek, metódusparaméterek is: név: text fajta:text kor: integer szín: integer macska csavargás gazdacsere név: text fajta: text=„fajtátlan” gazda: text otthon: boolean=1 macska csavargás(otthon):boolean gazdacsere(paraméterlista):eredmény
7
7 Osztályok és példányok Egy objektum a többinek csak a metódusait mutatja, az attribútumait és állapotait nem információ elrejtése. Az, hogy maga az objektum mennyi mindent lát a külvilágból, meghatározó szerepű. Célszerű egy-egy metódusba minél kevesebb, a környezettől függő adatot beépíteni, azaz az objektum és a környezete közötti csatolást gyengíteni.
8
8 Osztályok és példányok Demeter-törvény: akkor leggyengébb a csatolás az objektum és a környezete között, ha csak a metódus paramétereire és eredményeire a metódust tartalmazó osztály attribútumaira a program globális változóira a metódus lokális változóira hivatkozik.
9
9 Objektumok típusai Típus : egy objektumhalmaz viselkedését specifikálja, definiálja az objektumok által értelmezhető üzeneteket és az operációk szemantikáját. Osztály : a típus által meghatározott viselkedést implementálja, tartalmazza az implementáció részleteit. Egy objektumtípust többféle objektumosztály is leírhat. Különböző objektumtípusok lehetnek kompatibilisek egymással.
10
10 Objektumok típusai Ha egy T 1 típus kompatibilis egy T 2 típussal, akkor bárhol, ahol T 2 típus alkalmazása megengedett, ott alkalmazható T 1 típus is. minden T 2 típus által megértett üzenetet T 1 is megérti. T 2 típus a T 1 -nek szupertípusa, T 1 viszont T 2 szubtípusa. házimacska rövidszőrű macska hosszúszőrű macska T 2 típusT 1 típus
11
11 Objektumok típusai macska rövidszőrű hosszúszőrű korat brit man-szigeti sziámi perzsa angóra mosómedve szubtípus szupertípus
12
12 Objektumok típusai A kompatibilitás fontos szerepet játszik az öröklődésnél. Lehet, hogy egy bizonyos szempontból kompatibilis egy típus egy másikkal, de új üzenetet bevezetve nem lesz az
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.