Hernyák Zoltán Programozási Nyelvek II.

Slides:



Advertisements
Hasonló előadás
ADATBÁZISOK.
Advertisements

Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Programozás III OOP ALAPOK.
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
3. A programozás eszközei, programozás-technikai alapismeretek
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..
Programozás alapjai.
OBJEKTUMORIENTÁLT PROGRAM
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. 5. Gyakorlat Öröklődés, virtuális függvények,
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 2. rész – Vezérlő szerkezetek
Java programozási nyelv 3. rész – Osztályok I.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
C# tagfüggvények.
C# tagfüggvények.
OOP ÖRÖKLŐDÉS, INTERFÉSZ
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.
HEFOP 3.3.1–P /1.01 Az OOP elve A programozási paradigma (vagy elv) a számítógépes programok tervezésének és programozásának módszerét jelenti.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
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.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
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 Út az objektumig Az objektum fogalma, jellemzői Objektummal kapcsolatos fogalmak Hardverfogalmak A rendszer modell nézetei Objektumorientált.
1 Objektum orientált programozás Modellezés objektumokkal 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.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
OOP ÖRÖKLŐDÉS, INTERFÉSZ
Programozás III OOP ALAPOK.
Programozás III OOP ÖRÖKLŐDÉS.
Programozás III KIVÉTEL.
Objektumorientált alapjai ISZAM III.évf. részére Bunkóczi László.
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.
Ficsor Lajos CPP2 / 1 Származtatási mechanizmus a C++ nyelvben Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Operációs rendszerek.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Hernyák Zoltán Programozási Nyelvek II.
Algoritmus készítés.
Előadás másolata:

Hernyák Zoltán Programozási Nyelvek II. Microsoft.NET környezet Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz 1

Microsoft.NET környezet Az OOP története Struktúrált programozás: Program = adat + algoritmus 60-as években Böhm és Jacopini sejtése : „bármely algoritmus leírható az alábbi 3 vezérlési szerkezet véges sokszori alkalmazásával” szekvencia szelekció iteráció A fenti sejtést Mills bizonyította 2

Microsoft.NET környezet Az OOP története Objetum orientált programozás: Alan Kay diplomamunkája 1969 Tervek és elképzelések SmallTalk programozási nyelv megtervezése Meglévő eljárásorientált nyelveket bővítik OOP lehetőségekkel (Pascal, C) Új, tisztán OO nyelveket terveznek (Java, C#) 3

Microsoft.NET környezet Az OOP alapfogalmak: Egységbezárás (encapsulation): az adatok és a hozzájuk tartozó, őket manipuláló eljárásokat egyetlen egységben kezeljük (objektum-osztály). Az osztály mezői tárolják az információkat A metódusok kommunikálnak a külvilággal Az osztály változóit csak a metódusokon keresztül változtathatjuk meg. Az osztály mindig, minden esetben felelős azért, hogy a saját állapotát (amelyet a mezőiben tárolt adatok írnak le) folyamatosan helyes állapotban tartsa meg! Ennek érdekében a külvilág számára olyan interface-t kell biztosítania, amely használata mellett a helyes állapota fenntartható! A külvilág az objektum állapotát csakis annak interface-n keresztül manipulálhatja! 4

Microsoft.NET környezet Az OOP alapfogalmak: Öröklés (inheritance): az objektum-osztályok továbbfejlesztésének lehetősége. Ennek során a származtatott osztály örökli ősétől azok attribútumait, és metódusait, de ezeket bizonyos szabályok mellett újakkal egészítheti ki, és meg is változtathatja Az öröklés azért fontos, hogy az új osztályok fejlesztését ne a ‘nulláról’ kezdjük el, hanem legyen már egy majdnem kész objektum, amelyet csak kis mértékben kell kiegészítenünk, megváltoztatnunk a céljaink érdekében. A másik fontos szempont, hogy ha az eredeti objektum hibásan lett volna megírva, de azt a hibát javítják, akkor az öröklés miatt a hiba automatikusan javítódik az általunk fejlesztett új objektumban is. 5

Microsoft.NET környezet Az OOP alapfogalmak: Az eredeti osztály ősosztálynak nevezzük (szülő) Az új, továbbfejlesztett osztályt származtatott osztálynak (gyerekosztály) Egy ősből több leszármaztatott osztályt is készíthetünk Egy származtatott osztálynak Legfeljebb egy szülője lehet (pl.: Pascal, Java, C#) ( öröklődési fa ) Több szülője is lehet (pl.: C++) – öröklődési gráf Metódusok törzsét megváltoztathatjuk. Mezők neveit, típusait általában nem változtathatjuk meg. Új mezőkkel, és metódusokkal egészíthetjük ki az osztályt. 6

Microsoft.NET környezet Az OOP alapfogalmak: Sokalakúság (polymorphism) : a származtatás során az ős osztályok metódusai képesek legyenek az új átdefiniált metódusok használatára újraírás nélkül is. Ezt virtuális metódusokon keresztül érhetjük el Egyes nyelvekben minden metódus virtuális (pl.: Java) A metódusoknál külön jelezni kell, melyik a virtuális (pl.: Delphi, C#, C++) A sokalakúság a késői kötés támogatását jelenti. A késői kötés során futás közben fog eldőlni, hogy több, ugyanolyan paraméterezésű fv közül melyik kerüljön meghívásra. A sokalakúság során egy korai fejlesztésű objektum képes használni egy (tőle származtatott) osztály fejlettebb metódusait is! 7

Microsoft.NET környezet Osztály: egy felhasználó által készített típus, mely összetett adatszerkezet – elvileg tartalmazza az adott objektum adatait, és az azokat kezelő eljárásokat. Objektum: egy változó, melynek típusa valamely objektumosztály, vagyis az osztály egy példánya. Attribútum (adatmező): az osztály egy mezője, konkrét adattárolási képességű adattagja. Metódus: olyan eljárás, mely része valamely objektumosztálynak, így az adott osztály attribútumai- val végez valamilyen műveletet. Példányosítás: egy objektumosztályból konkrét objektum készítése. Inicializálás: az objektum attribútumainak kezdőértékbeállítása, általánosabban az objektum-példány alaphelyzetbe állítása 8