1 / 12

Objektum orientált programozás

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

vian
Download Presentation

Objektum orientált programozás

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. Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia

  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. 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. 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. 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 (macska) Brewster-szög fajtátlan 4 fekete (macska) Hofi perzsa 3 fehér

  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 név: text fajta: text =„fajtátlan” gazda: text otthon: boolean =1 macska csavargás gazdacsere csavargás(otthon):boolean gazdacsere(paraméterlista):eredmény

  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. 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. 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. Objektumok típusai Ha egy T1 típus kompatibilis egy T2 típussal, akkor bárhol, ahol T2 típus alkalmazása megengedett, ott alkalmazható T1 típus is. minden T2 típus által megértett üzenetet T1 is megérti. T2 típus a T1-nek szupertípusa, T1 viszont T2 szubtípusa. rövidszőrű macska házimacska hosszúszőrű macska T2 típus T1 típus

  11. Objektumok típusai szupertípus sziámi rövidszőrű korat brit macska man-szigeti perzsa hosszúszőrű angóra szubtípus mosómedve

  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

More Related