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

Slides:



Advertisements
Hasonló előadás
Osztály leszármaztatás
Advertisements

ADATBÁZISOK.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
C++ programozási nyelv Gyakorlat hét
Programozás III OOP ALAPOK.
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
Programozás III KOLLEKCIÓK 2..
Objektum-orientált adatbázisok Alapfogalmak
A Microsoft rendszermenedzsment víziója A Dynamic Systems Initiative A System Definition Model Az üzemeltetésre tervezett szoftverek A SDM jelentősége.
Az egyed-kapcsolat modell
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Öröklődés 2..
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
OBJEKTUMORIENTÁLT PROGRAM
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
Vizuális modellezés Uml és osztálydiagram UML eszközök
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 7. Gyakorlat Operator overloading.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 5. Gyakorlat Öröklődés, virtuális függvények,
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Tömbök ismétlés Osztályok Java-ban Garbage collection
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 5. rész – Osztályok III.
C# tagfüggvények.
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Bevezetés a C++ programozási nyelvbe
Objektumok. Az objektum információt tárol, és kérésre feladatokat hajt végre. Az objektum adatok (attribútumok) és metódusok (operációk,műveletek) összessége,
1Objektumorientált elemzés és tervezés - Alapfogalmak Gyurkó György Objektumorientált elemzés és tervezés Alapfogalmak.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Objektumorientált programozás
Objektumorientált tervezés
Objektumorientált tervezés Út az objektumig Az objektum fogalma, jellemzői Objektummal kapcsolatos fogalmak Hardverfogalmak A rendszer modell nézetei Objektumorientált.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozási Paradigmák és Technikák Programozási eszközök Interfészek Generikus.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozási Paradigmák és Technikák Programozási eszközök Interfészek Generikus.
Java programozási nyelv Metódusok
1 Objektum orientált programozás Modellezés objektumokkal Nagy Szilvia.
Objektum orientált programozás
1 Objektum orientált programozás Struktúrák és objektumok gyakorlat Nagy Szilvia.
1 Objektum orientált programozás Öröklődés: többszörös öröklődés, konstruktorok, destruktorok, overloading Nagy Szilvia.
Objektum orientált programozás
Objektumvezérelt rendszerek tervezése 7. óra – Iterator, State, Interpreter © Szőke Gábor.
Objektumvezérelt rendszerek tervezése
Programozás III OOP ALAPOK.
Objektumvezérelt rendszerek tervezése 5.óra – Singleton, Visitor, Abstract Factory © Nagy Csaba.
7. kurzus Az objektum-orientált tervezés alapelemei
Objektumorientált alapjai ISZAM III.évf. részére Bunkóczi László.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
1 Objektum orientált programozás Az objektumok és az osztályok – bevezetés Nagy Szilvia.
Haladó C++ Programozás Programtervezési minták – alapok Sonkoly Balázs
Programozás I. 3. gyakorlat.
A 2. géptermi beszámoló VBA anyagának összefoglalása
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
A színek szerepe a térképészetben
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Strukturális tervezési minták
Szemantikai adatmodellek
UML használata a fejlesztésben, illetve a Visual Studio 2010-ben
Programozási nyelvek típusossága.
Hernyák Zoltán Programozási Nyelvek II.
6. kurzus Az objektum-orientált tervezés alapelemei
Előadás másolata:

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

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