Az objektum orientált programozás alapjai. A Szoftver krízis  Egy légiirányító szoftver olyan bonyolult, hogy senki sem képes teljesen átlátni.  A szoftvernek.

Slides:



Advertisements
Hasonló előadás
1 Dekomponálás, detritivoria Def.: azon szervezetek tevékenysége, amelyek elhalt szerves anyag feldarabolását, bontását és a mineralizáció útjára irányítását.
Advertisements

A családsegítő és gyermekjóléti szolgálatokat érintő változások A család és gyermekjóléti szolgáltatás.
TÖMÖRÍTÉS. Fogalma A tömörítés egy olyan eljárás, amelynek segítségével egy fájlból egy kisebb fájl állítható elő. A tömörítési arány függ a fájl típusától,
Szabadtéri rendezvények. A TvMI vonatkozik: OTSZ szerinti szabadtéri rendezvényekre szabadtéri rendezvény: az 1000 főt vagy az 5000 m 2 területet meghaladó,
A hivatalos statisztika információ-megosztási felülete a KSH honlapján 1 Freid Mónika OST-ülés,
A szoftver mint komplex rendszer (folyt.) A SunTone módszertan 3 dimenziós osztályozási sémája kifinomultabb osztályozást tesz lehetővé.
Bemutatkozás Fodor Noémi Gépészmérnök – mérnöktanár Környezetirányítási szakértő TAR-ZERT Auditor Minőségirányítási vezető.
1 Az önértékelés mint projekt 6. előadás 1 2 Az előadás tartalmi elemei  A projekt fogalma  A projektek elemei  A projekt szervezete  Projektfázisok.
Hogyan teljesíthetjük a HpT 13§B követelményeit Egy vállalati Compliance Adatbázis terve Dr Lőrincz István Associator Kft.
Informatikai rendszerek általános jellemzői 1.Hierarchikus felépítés Rendszer → alrendszer->... → egyedi komponens 2.Az elemi komponensek halmaza absztrakciófüggő.
A vállalatok marketingtevékenysége és a Magyar Marketing Szövetség megítélése Kutatási eredmények az MMSZ részére (2008. július)
Magyar Kereskedelmi Engedélyezési Hivatal Haditechnikai és Exportellenőrzési Hatóság Várható változások a hadiipari tevékenységi engedélyezés területén.
Esettanulmány: egy inf. rendszer adatszerkezetének kialakítása ● Könyvtári adatbázis: ● Könyvek adatai: leltári szám, jelzet, szerző, cím, kiadás, ár,
EU pályázati programok A szervezet / változások 1.A pályázók adminisztrációs terheinek csökkentése a projektfejlesztési, pályázati szakaszban.
Új irányok az emberi erőforrás gazdálkodásban Fiatal regionalisták VIII. országos konferencia Győr, október Szűcs Ágnes Nyíregyházi Főiskola.
BEST-INVEST Független Biztosításközvetítő Kft.. Összes biztosítási díjbevétel 2004 (600 Mrd Ft)
Kereskedelmi jog V. Előadás Egyes társasági formák A korlátolt felelősségű társaság.
TEROTECHNOLÓGIA Az állóeszközök újratermelési folyamata.
Internet tudományos használata
Magyar információbiztonsági szabványok
Üzleti modell központú fejlesztés
Számítógépes szimuláció
Nagyméretű állományok küldése
Megjegyzések Dinya László vitaindító tanulmányához
Adatbázis normalizálás
Összeállította: Horváth Józsefné
A FELÜGYELŐBIZOTTSÁG BESZÁMOLÓJA A VSZT
A víziközmű-szolgáltatásról szóló évi CCIX
Program utasítássorozat
Adatbázisok gyakorlat
Foglalkoztatási Paktumok az EU-ban
A közigazgatással foglalkozó tudományok

Az Európai Uniós csatlakozás könyvtári kihívásai
Magyar Tudományos Művek Tára
Észlelés és egyéni döntéshozatal, tanulás
Kockázat és megbízhatóság
T.R. Adatbázis-kezelés - Alapfogalmak Adatbázis:
Követelményelemzés Cél: A rendszer tervezése, a feladatok leosztása.
CSOPORT - A minőségellenőrök egy megfelelő csoportja
Struktúra predikció ápr. 6.
1993-as közoktatási törvény
Környezetgazdaságtan 1
Hipotézisvizsgálat.
Visual Studio Code Metrics
Nyelvek típusossága.
Adatbázis-kezelés (PL/SQL)
A PDCA elv alkalmazása az információvédelmi irányítási rendszerekben 1
Meghatározása, formái, mikéntje és „forrásai”
VB ADATTÍPUSOK.
Algoritmusok és Adatszerkezetek I.
Adatbázis alapfogalmak
Rendszerfejlesztés gyakorlat
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
A hatékony adományozás eszközei igazgató, Magyar Adományozói Fórum
A villamos installáció problémái a tűzvédelem szempontjából
Környezeti Kontrolling
Új pályainformációs eszközök - filmek
Szabványok, normák, ami az ÉMI minősítési rendszerei mögött van
Oracle Adatbázisok kezelése c#-ban
A csoportok tanulása, mint a szervezeti tanulás alapja
TÁRGYI ESZKÖZÖK ELSZÁMOLÁSA
Magyar Könyvvizsgálói Kamara XVIII. Országos Konferenciája II
A számítógép története
A kurzus teljesítése Két kurzuskód
Az egyén társadalmi integrációja
SQL jogosultság-kezelés
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Algoritmusok.
Az objektum orientált programozás alapjai
Előadás másolata:

Az objektum orientált programozás alapjai

A Szoftver krízis  Egy légiirányító szoftver olyan bonyolult, hogy senki sem képes teljesen átlátni.  A szoftvernek teljesen biztonságosnak kell lennie.  A bonyolultság nem mehet a biztonság rovására.  A hagyományos, struktúrált programozással ezek a követelmények nem valósíthatók meg.  Szoftver krízis: hagyományos módszerekkel nem valósítható meg korszerű, minőségi szoftver.

Egy szoftver minőségi követelményei  Helyesség  Hibatűrés  Karbantarthatóság, bővíthetőség  Újrafelhasználhatóság  Kompatibilitás  Felhasználóbarátság  Hordozhatóság  Hatékonyság  Ellenőrizhetőség Integritás (sérthetetlenség)  Szabványosság (ISO Intenational Standard Organization)

Moduláris és objektumorientált programozás (Modulok, kapcsolatok)  A rendszer modulokkal és a közöttük lévő kapcsolatokkal leképezhetők  A modulok egymástól jól elkülöníthetők  A lehető legkevesebb legyen a kapcsolatok száma  Minél kisebb legyen a modulok hozzáférési felülete (interfész) Rendszer Modulok Kapcsolatok

Moduláris és objektumorientált programozás (Modulok, kapcsolatok)  A modul interfésze legyen egyértelmű és jól meghatározott.  A modul minél nagyobb része legyen zárt és sérthetetlen. Mindent el kell rejteni, ami nem feltétlenül szükséges a modul külső használatához. Rendszer Modul Kapcsolatok Modul Kapcsolatok

Moduláris és objektumorientált programozás (Modulok, kapcsolatok) Eljárás Adat Eljárás Adat Eljárás Adat

Az objektum jellemzői  A legkisebb modul az objektum, amelyben az adatok és az eljárások össze vannak zárva.  Az objektum adatain csak az objektum saját eljárásai dolgozhatnak.  Az objektum védi saját adatait, idegen objektumok azokat nem használhatják.  Egy objektum csak olyan feladatot tud elvégezni, amelyre beprogramozták.  Az objektum információkat tárol, és kérésre feladatokat hajt végre. Az objektum felelős a feladatainak végrehajtásáért.

A valós világ modellezése  Absztrakció Egy szemléletmód, amellyel a valós világot leegyszerűsítjük úgy, hogy a feladat szempontjából lényegtelen dolgokat elhanyagoljuk, csak a lényegre koncentrálunk  Megkülönböztetés Az objektumokat a számunkra lényeges dolgok alapján próbáljuk megkülönböztetni (piros labda, kék labda)

A valós világ modellezése  Osztályozás Az objektumokat a számunkra fontos tulajdonságok alapján kategóriákba, osztályokba soroljuk (ez a kutya olyan mint a másik, tehát kutyák)  Általánosítás és specializáció Hasonlóságok és különbségek keresése, ezek alapján bővebb és szűkebb kategóriák felállítása (A kutya egy háziállat, de olyan, amelynek négy lába van)

A valós világ modellezése  Kapcsolatok felépítése, részekre bontás Két objektum csak akkor kommunikálhat egymással, ha közöttük valamilyen kapcsolat van. Ismertségi, együttműködési kapcsolat Egymástól függetlenül is létezhetnek, egyik léte nem függ a másiktól. (kutya-ház) Tartalmazási, egész-rész kapcsolat Egy objektum határozottan része a másiknak, ha az egész elpusztul, akkor vele együtt a rész is elpusztul (kutya és annak szeme)

Mitől objektumorientált egy program?  Egy OO programban nem eljárásokat hívunk, hanem objektumokat szólítunk meg, kérünk meg feladatok elvégzésére.  Az objektumorientált program egymással kommunikáló programok összessége, melyben minden objektumnak megvan a jól meghatározott feladata. Egy objektum szolgáltatásokat tud nyújtani, mégpedig csak olyan szolgáltatásokat, amelyekre őt beprogramozták.

Egy objektumorientált rendszer felépítése  A szolgáltatást kérőnek meg kell tudni szólítani az objektumot. (azonosító ismeret)  A feladat végrehajtásának módja az objektum belügye.  Minden objektumnak van egy „interfész” része, amelyen keresztül az objektummal kommunikálni lehet.  Az objektumokat üzeneteken keresztül kérjük meg feladatok elvégzésére

Egy objektumorientált rendszer felépítése Objektum Interfész Üzenet, kérés

Az objektumorientált rendszer felépítése  Meg kell határozni, hogy a rendszerben milyen objektumok szükségesek  Szét kell osztani az objektumok között a feladatokat  Ki kell választani egy objektumot, amely felelős az egész program végrehajtásáért  Egy objektum megkérhet más objektumokat bizonyos feladatok végrehajtására

Az objektumorientált rendszer felépítése  A rendszerben minden objektumnak megvan a jól meghatározott feladata  Egy objektum felelős feladatának végrehajtásáért még akkor is, ha bizonyos feladatokat „mással” végeztet el  Ugyanarra a kérelemre különböző objektumok különbözőképpen reagálhatnak (hogyan programozták be őket?)

Az objektumorientált rendszer jellemzői  Objektum Információt tárol, és kérésre feladatokat hajt végre. Az objektum felelős feladatainak korrekt végrehajtásáért.  Objektumorientált program Egy objektumorientált program egymással kommunikáló objektumok összessége melyben minden objektumnak megvan a jól meghatározott feladata.

Az objektumorientált rendszer jellemzői  Üzenet, kérelem Az objektumokat üzeneteken keresztül kérjük meg különböző feladatok elvégzésére  Felelősség Minden objektumnak megvan a jól meghatározott feladata. Az objektum felelős a feladatai elvégzéséért.

Az objektumorientált rendszer jellemzői  Bezárás, információ elrejtése A feladatok elvégzésének „hogyan”-ja az objektum belügye. Az objektum belseje sérthetetlen. Az objektummal csak az interfészen keresztül lehet kommunikálni.  Többalakúság Ugyanarra a kérelemre a különböző objektumok különbözőképpen reagálhatnak.

Az objektumorientált rendszer jellemzői  Osztályozás Az objektum példányokat viselkedésük szerint osztályokba soroljuk.  Öröklődés Egy osztály örökölhet viselkedésformákat egy másik osztálytól. Az utód osztályban csak az ős osztálytól való eltéréseket kell megadni.

Objektumok jellemzői  Az objektum információt tárol, és kérésre feladatokat hajt végre. Az objektum adatok (attribútumok) és metódusok (műveletek) összessége, mely felelős feladatai elvégzéséért. Nagy József 1988 Siófok Elköltözik (Új cím) Növekszik(Cm/év) Adatok (attribútumok) Metódusok (műveletek)

Az objektum állapota  Az objektumnak mindig van egy aktuális állapota – az adatok pillanatnyi értékei. Egy feladat elvégzése után az objektum állapota megváltozhat. (növekszik)  Az objektum mindig „emlékszik” az állapotára (elköltözik) Szöveg 20,10 15,5 7,1 Töröl Ír(szöveg) Bal felső sarok Szélesség, magasság Kurzor pozíció

Az objektum azonosítása  Az objektumokat egyértelműen azonosítani kell  Két objektumnak akkor is különbözőnek kell lennie, ha minden jellemzőjük, állapotaik azonosak  Az objektumok változóneveikkel, vagy pointerekkel azonosíthatók Fiu1 Fiu2

Osztály, példány  Az ugyanolyan adatokat tartalmazó, ugyanolyan metódusokkal rendelkező objektumokat egy osztályba soroljuk.  Ha Kis Gézáról ugyanazokat az adatokat tartjuk nyilván, mint Nagy Kati, valamint ha a két ember ugyanazokat a feladatokat tudja végrehajtani, (növekszik, elköltözik), akkor a két ember ugyanahhoz az osztályhoz tartozik. Növekszik feladat esetén az egyik „megtagadja” a növekedést.

Osztály, példány  Az objektum osztály (típus) egy objektum minta, amely alapján objektum példányokat (objektumokat) hozhatunk létre. Az EMBER egy OSZTÁLY, ami alapján Kis Géza és Nagy Kati PÉLDÁNYOK létrejöttek, ők az EMBER osztály egy-egy példánya. EMBER Név Szülév Cím Magasság Elköltözik (Új cím) Növekszik(Cm/év)

Osztály, példány:  Az objektumot a programban azonosítani kell. Minden objektumban egyedi nevet adunk.  Az objektum osztályhoz tartozik, ettől kezdve az objektum szabályai szerint él, „tudja”, hova tartozik. KisGeza,NagyKati:Ember; Ablak1,Ablak2:Ablak;  Az osztály és példány összetartozást a rendszer figyeli  Ha két objektumnak ugyan az az állapota, akkor ugyanarra a kérésre, ugyanúgy reagál.

Osztály, példány:  Amikor egy objektumot felkérünk egy feladat végrehajtására, akkor az objektumnak üzenetet küldünk.  Az üzenet formája: Objektumnev.Metodus. Pl: Objektumosztály:Ember Objektumnév:KisGeza Metódus:Novekszik(10) KisGeza.Novekszik(10)

Osztály, példány: Ember Nev Szulev Cím Magassag Elköltözik (Új cím) Növekszik(Cm/év) Osztály Osztály neve Attribútumok Adatok Változók Metódusok Kis Géza 1988 Balatonboglár 168 cm Elköltözik (Siófok) Növekszik(5) Példány

Üzenetküldés  Egy objektum „felkérhet” más objektumokat különböző feladatok elvégzésére. A felkérést üzenetküldésnek vagy kérelemnek nevezzük.  Az üzenet egy kívülről elérhető metódus (eljárás vagy függvény) hívása.

Üzenetküldés  Kliens-szerver kapcsolat: Kliens: a feladatot elvégeztető objektum Szerver:a feladatot elvégző objektum Mindig a kliens üzen a szervernek. KliensSzerver Üzenet Kérelem

Objektum inicializálása  Az objektumnak életciklusa van. Minden objektum egyszer „megszületik”, aztán „él”, és végül „meghal”.  Születéskor az objektumba be kell táplálni a kiinduló adatokat, ez lesz az objektum kezdeti állapota.  Az objektum inicializálása az objektum kezdeti adatainak megadásából, és a működéshez szükséges kezdeti tevékenységek végrehajtásából áll.  Az inicializáló metódus végzi az objektum létrehozását.

Bezárás, információ elrejtése  Az objektum legfontosabb jellemzője, hogy zárt és „sérthetetlen”  A kliens számára felesleges információkat bezárja, elrejti.  Előnyei: más programrész nem tudja „elrontani” Az objektumban keletkezett esetleges hiba nem tud átterjedni más programrészekre  Bezárás: az adatok, metódusok „betokozása”  Inf. elrejtés: Az objektumot csak az interfészén keresztül lehet megközelíteni.

Bezárás, információ elrejtése  Az objektum csak olyan üzenetre reagál, amelyre beprogramozták  Az információ elrejtésével a hibák mennyisége lényegesen csökkenthető.  Az interfész a lehető legkisebb legyen Adatok Metódus1 Metódus2 Metódus3 Interfész

Kód újrafelhasználása  Az egyszer már megírt, és jól működő programkódot ugyanabban, vagy másik programban újra felhasználjuk  A már létrehozott osztályból példányokat hozunk létre  Ahány példányt létrehozunk, annyiszor használjuk újra a megfelelő osztály kódját

VÉGE