Programozás III. - az objektumorientált programozásba Varjasi Norbert Széchenyi István Egyetem Informatika Tanszék Programozás III. - 1. el adás
institution-log Tartalom 1 El adások és gyakorlatok Zárthelyi dolgozatok 2
Outline El adások ZH 1 El adások és gyakorlatok Zárthelyi dolgozatok 2
El adások El adások ZH 13+1 oktatási hét heti 5 kontaktóra: 2 ea +3 gyakorlat + X egyéni felkészülés 6 kreditpont!
El adások El adások ZH 13+1 oktatási hét heti 5 kontaktóra: 2 ea +3 gyakorlat + X egyéni felkészülés 6 kreditpont!
El adások El adások ZH 13+1 oktatási hét heti 5 kontaktóra: 2 ea +3 gyakorlat + X egyéni felkészülés 6 kreditpont!
Outline El adások ZH 1 El adások és gyakorlatok Zárthelyi dolgozatok 2
El adások ZH Az aláírás megszerzésének feltétele 2db zárthelyi dolgozat teljesítése úgy, hogy a hallgató a két dolgozattal együttesen szerezhet pontszámának legalább 50%-át eléri. A zárthelyi dolgozatok két részb l állnak: elméleti tesztkérdéssor, gyakorlati feladat megoldása. A zárthelyi dolgozatok a szorgalmi id szakban egy alkalommal pótolhatók, több lehet ség az aláírás megszerzésére nincs.
El adások ZH Zh írás A zárthelyi dolgozatok írásának helye a D104-es, vagy hasonló gépterem. Figure: Id pontok: 7. oktatási hét (október 19. szerda, 15.30) 13. oktatási hét Pótlás a 14. héten! (Mindenki pótolhat, aki els két alkalmon vagy nem szerzett elég pontot, vagy valamely ok miatt akadályoztatva volt.)
Outline 1 El adások és gyakorlatok Zárthelyi dolgozatok 2
Az OO technológia történeti vonatkozásai '60-as évek: Smalltallk, Simula. '80-as 90-es évek: OO technológia elterjedése (object pascal, C++, Eiel, Ada, Delphi, Java, PHP, C#). Tisztán OO és hibrid nyelvek. 4GL (és 5GL).
Objektumorientált programozás Objektumok Osztályok A példányosítás Jelölésrendszer Egységbezárás Adatrejtés Örökl dés Többalakúság Adatabsztrakció Interfészek Osztályok együttm ködése
Az objektum Alapötlet: a valós világ modellezése. Egy-egy önálló el fordulás, ezért egyedileg azonosíthatónak kell lennie, Feladata: információtárolás, feladatok végrehajtása.
Az osztály A közös jellemz kkel bíró objektumok összessége, Magasabb szint fogalomalkotás, Absztrakt fogalmakkal jellemezhet, Programozási szempontból: típusdeníció
A példányosítás 1 A programozás során az osztályokból egyedeket(objektumokat) példányosítunk. 2 tárhelyfoglalás azonosító (referencia típus) 3 objektum osztályhoz rendelése 4 kezd értékadás (inicializálás) 5 Futás alatt: bels állapot
Osztály és objektum kapcsolata
Osztály és objektum kapcsolata
Jelölésrendszer UML nyelvi elemek (Use-case -> állapot- és aktivitási diagramok) -> Osztálydiagramok Együttm ködési diagramok...
Outline 1 El adások és gyakorlatok Zárthelyi dolgozatok 2
Egységbezárás Adatrejtés Öröklődés Többalakúság
Egységbezárás (encapsulation) 1. sz. OO alapfogalom adattagok, vagy tulajdonságok m veletek, vagy metódusok
Adatrejtés (data hiding) 2. OO alapfogalom Minden objektum védi bels adatait Gyakorlatilag az adatokat kívülr l csak ellen rzötten, metódusokon keresztül éjük el. Hozzáférési kategóriák: publikus +, védett #, csoamag szint (java), privát -
Örökl dés (inheritance) 3. OO alapfogalom Az osztályok hierarchiába szervezhet k Žs és leszármazott osztályok A tulajdonságok és a m veletek örökl dnek Futás alatti kötés fogalma (runtime binding, late binding)
Örökl dés (inheritance)
Többalakúság (polimorphism) 4. OO alapfogalom (összetett jelentés): Változók többalakúsága: példányok kompatibilitása örökléskor az s felé Metódusok többalakúsága: felüldeniálás (override) felültöltés (overload)
Többalakúság (polimorphism) Osztályhierarchiában értelmezett. Virtuális metódusok, Futás alatti kötés - kés i kötés (runtime binding, late binding) Vitrulális metódus tábla
Többalakúság (polimorphism) Egy osztályon belül értelmezett. Azonos üzenetre másképpen reagálás. Szignatúra fogalma.
Adatabsztrakció (speciális sök, interfészek) Absztrakt metódusok, absztrakt osztályok: kizárólag örökítési céllal szerepelnek Virtuális metódusok Futás alatti kötés (lásd: többalakúság) Azonos üzenetküldés az objektumoknak Keresd az st elv Programkód redundancia csökkentése Nincs közvetlenül példányosítás Az absztrakció magasabb szint megvalósítása: interfész Az osztályok közötti kapcsolatok szélesebb kör értelmezése Üzenetküldési szabályok magas szint deniálása
Osztályok együttm ködése Ismertségi és tartalmazási kapcsolatok osztályok között Referencián keresztül Egymástól független objektumok
Osztályok együttm ködése Tartalmazási kapcsolatok gyenge tartalmazás aggregáció er s tartalmazás kompozíció
Irodalom A fentiek az objektumorientált szemlélet és gondolkodásmód alapjai, nagy vonalakban. Épít kövek (elmélet) nélkül a gyakorlat (programfejlesztés) nem fog menni. További részletek: elektronikus jegyzet 1. és 2. fejezete. Köv. alkalommal: A java programnyelv alapjai. Ismerkedés a környezettel.
Irodalom Kötelez és ajánlott irodalom I Sziray József: a Java programozási nyelvbe : LOGSOFT, Budapest, 2009. Varjasi Norbert: Programozás III. Gy r : Széchenyi István Egyetem, 2006. 230 p. [elektronikus jegyzet ] (http://jegyzet.sze.hu/index.php?felt=programoz%e1s+iii&fajl=kere Angster Erzsébet: Objektumorientált tervezés és programozás (Java) 4KÖR Bt., Budapest, 2002 Programozási nyelvek : Nyékyné Gaizler Judit(szerk.) et al. Budapest : KiskapuKft, 2003. 760p. ISBN: 963 9301 477 Vég Csaba - dr. Juhász István: Java-start! Logos 2000 Bt., Debrecen, 1999 (ISBN: 963 03 9005 1) institution-log