Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia.

Hasonló előadás


Az előadások a következő témára: "1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia."— Előadás másolata:

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


Letölteni ppt "1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia."

Hasonló előadás


Google Hirdetések