Objektumorientált paradigma és a programfejlesztés

Hasonló dokumentumok
Objektumorientált paradigma és programfejlesztés Bevezető

Objektum orientált programozás Bevezetés

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

OOP. Alapelvek Elek Tibor

Objektum orientált software fejlesztés (Bevezetés)

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Objektum orientált alapelvek

Adatstruktúrák Algoritmusok Objektumok

Objektumorientált paradigma

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Adatstruktúrák, algoritmusok, objektumok

Számítógép architektúra

10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)

Adatstruktúrák, algoritmusok, objektumok

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

S0-02 Típusmodellek (Programozás elmélet)

Mérés és modellezés 1

Mérés és modellezés Méréstechnika VM, GM, MM 1

Szoftver-technológia II. Modulok és OOP. Irodalom

Algoritmusok, adatszerkezetek, objektumok

Programozási alapismeretek 4.

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Méréselmélet MI BSc 1

Programfejlesztési Modellek

Interfészek. PPT 2007/2008 tavasz.

Bevezetés a Programozásba II 1. előadás. Szoftverfejlesztés, programozási paradigmák

Bevezetés az informatikába

S01-7 Komponens alapú szoftverfejlesztés 1



Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Már megismert fogalmak áttekintése

Objektum-orientált programozás

Programozás módszertan p.1/46

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Szoftverminőségbiztosítás

Programozás. Objektum Orientált Programozás (OOP) Alapfogalmak. Fodor Attila

Programozási technológia 1.

Programozási Paradigmák

Interfészek. Programozás II. előadás. Szénási Sándor.

Objektumorientált szoftverfejlesztés alapjai


Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

A számítógépes feladatok a várt megoldáshoz egyértelmű utalásokat tartalmazzanak.

Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés

Programozás III. - NGB_IN001_3

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

UML (Unified Modelling Language)

III. OOP (objektumok, osztályok)

Internetes alkalmazásfejlesztő képzés tematika oktatott modulok

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Komponens alapú programozás Bevezetés

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok

Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba

Programozás alapjai (ANSI C)

NC program ellenorzo szimulátor fejlesztése objektumorientált módszerrel

Adatstruktúrák, algoritmusok, objektumok








Web-programozó Web-programozó

1. előadás Alapfogalmak Modellezés, a Bachman-féle fogalomrendszer, adatmodell,

Objektumelvű programozás

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

2. AZ ADATTÍPUS ABSZTRAKCIÓS SZINTJEI

Gyakorlati vizsgatevékenység A

S01-8 Komponens alapú szoftverfejlesztés 2

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Gyakorlati vizsgatevékenység B

SZOFTVERFEJLESZTÉSI TECHNOLÓGIÁK


OOP #1 (Bevezetés) v :39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

1.előadás Tornai Kálmán

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

és az instanceof operátor

Objektumorientált felbontás

Mi legyen az informatika tantárgyban?

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

Szoftver újrafelhasználás

Informatika tanítási módszerek

A TANTÁRGY ADATLAPJA

CORBA Áttekintés. Mi a CORBA? OMG and OMA. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Szoftver-technológia I.

A szoftverfejlesztés eszközei

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Bánsághi Anna 1 of 67

Szoftverfejlesztő képzés tematika oktatott modulok

Adatmodellezés, alapfogalmak. Vassányi István

Objektumorientáció, objektumorientált szemlélet

Információtartalom vázlata

Osztály tervezési szempontok és C++ implementációs ajánlások

Átírás:

Objektumorientált paradigma és a programfejlesztés Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján

Objektumorientált paradigma MODELLEZÉS ÉS PROGRAMKÉSZÍTÉS 2/23

Emlékeztető - Fogalom Program, programozás: 1. műveletek sorozata egy bizonyos cél elérése érdekében; 2. utasítássorozat, amely megmondja a számítógépnek, hogyan kezeljen egy problémát; 3. programtervezés, írás és tesztelés (belövés) [Idegen szavak és kifejezések szótára, Akadémiai Kiadó] 3/23

Emlékeztető - Fogalom Programozási paradigma: Az a mód, ahogyan egy-egy programozási nyelv létrehozására felhasználják a programozási alapfogalmakat, valamint az a stílus, amelyet az így létrehozott nyelvek sugallnak. [Idegen szavak és kifejezések szótára, Akadémiai Kiadó] 4/23

Emlékeztető - Fogalom Absztrakció lat. 1. elvonatkoztatás, elvonás; a leglényegesebb tulajdonságok kiemelése és általánosítása; 2. elvont fogalom [Idegen szavak és kifejezések szótára, Akadémiai Kiadó] 5/23

Előadás tematika Cél: az objektumorientált programozási paradigma segítségével történő modellezés és programkészítés megismertetése Tartalom: Programozás mint modellkészítés Modellezés objektumokkal Objektumorientált program 6/23

Objektumorientált paradigma PROGRAMOZÁS MINT MODELLKÉSZÍTÉS 7/23

Programkészítés Absztrakciós folyamat, amelyben a valós világban létező jelenséget (megoldandó problémát) valamilyen programozási eszköz absztrakciós szintjén képezünk le A munka nehézsége függ a leképezendő jelenség/folyamat bonyolultságától (komplexitásától) a valóság és a programozási eszköz absztrakciós szintjének különbözőségétől 8/23

Programozási nyelvek A programozási eszközök absztrakciós szintjei különbözőek: Assembly: adott számítógép architektúra utasításkészletének leképezése Funkcionális (imperatív) programnyelvek: adatszerkezetek és algoritmusok absztrakciós szintje a valós világ fogalmaihoz nem közeli Objektumorientált nyelvek: együttműködő objektumok absztrakciós szintje A valóságban is léteznek 9/23

Programozás mint modellkészítés A programkészítés egy másik megközelítése Program: a valós világ egy szeletének működő modellje Ebben a szemléletben a valós világ absztrakt modelljét (analízis modell) kell leképezni a programozási eszközre Ezt a folyamatot megkönnyíti az, ha az analízis modell elemei könnyen leképezhetők a nyelvi elemekre 10/23

Az OOP szemlélete Az analízis modell elkészítése során a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban van és együttműködnek Természetes objektumok jellemzői: Egyéniség (különállás) Struktúra (adatok) Állapot (adatainak aktuális értéke) Viselkedés (más objektumokkal való kapcsolat, módosítják az állapotot, illetve az állapot befolyásolhatja a viselkedés működését) 11/23

Objektumorientált paradigma MODELLEZÉS OBJEKTUMOKKAL 12/23

Objektumok jellemzői Az objektum: egyediséggel rendelkező diszkrét entitás Jellemzői: Attribútumok, műveletek Attribútum együttes: objektum állapot; időbeli változás az objektum viselkedés Műveletek (metódusok): ezek modellezik az objektum viselkedését 13/23

Objektumtól objektumig A valós világ egy eleme Absztrakció 1. szint 2. szint Valós objektum Absztrakció és/vagy formális leírás Absztrakt adattípus Megvalósítása programozási eszközzel (implementáció) Nyelvi elem Nyelvi elem 3. szint Objektum1 Osztály Objektum2 Objektum3 Példányosítás Vámossy (OE NIK) AAO 07 14/23

Objektumtól objektumig 1. szint Tanulmányozzuk a valós objektumokat, és megkeressük azoknak a probléma megoldása szempontjából fontos adatait és viselkedésmintáit. (Az absztrakció fogalmából: A leglényegesebb tulajdonságok kiemelése ) Megkeressük azon objektumcsoportokat, amelyek azonos adatokkal és viselkedésmintákkal rendelkeznek, és elnevezzük ezeket a csoportokat. (Az absztrakció fogalmából: általánosítás ) 15/23

Objektumtól objektumig A valós világ egy eleme Absztrakció 1. szint 2. szint Valós objektum Absztrakció és/vagy formális leírás Absztrakt adattípus Megvalósítása programozási eszközzel (implementáció) Nyelvi elem Nyelvi elem 3. szint Objektum1 Osztály Objektum2 Objektum3 Példányosítás Vámossy (OE NIK) AAO 07 16/23

Objektumtól objektumig 2. szint Az előzőleg definiált fogalom leképzése a programozási eszközre (osztálydefiníció). Ez egy minta a program működéséhez szükséges objektumok létrehozására 17/23

Objektumtól objektumig A valós világ egy eleme Absztrakció 1. szint 2. szint Valós objektum Absztrakció és/vagy formális leírás Absztrakt adattípus Megvalósítása programozási eszközzel (implementáció) Nyelvi elem Nyelvi elem 3. szint Objektum1 Osztály Objektum2 Objektum3 Példányosítás Vámossy (OE NIK) AAO 07 18/23

Objektumtól objektumig 3. szint Akkor és annyi objektumot kell létrehozni a program futása során, amelyek együttműködve képesek a valóságot modellezni. 19/23

Objektumorientált paradigma OBJEKTUMORIENTÁLT PROGRAM 20/23

Objektumorientált program Egymással kommunikáló objektumok halmaza Működés: üzenetváltások Struktúra: osztályok és objektumok közötti kapcsolatok 21/23

OO programkészítés folyamata A probléma leírásában keressük az objektumokat Objektumcsoportok közös tulajdonságait osztályokkal írjuk le Megkeressük az osztályok kapcsolatait Az osztályokat és kapcsolataikat implementáljuk Létrehozunk megfelelő példányokat (objektumokat) a megfelelő időben, és megoldjuk a kommunikációjukat Az implementációhoz általában szükségünk van az eredeti probléma objektumain túl technikai szerepű osztályokra / objektumokra is 22/23

Köszönöm a figyelmet! 23/23