Programozás s 2. Alapok

Hasonló dokumentumok
Programozási technológia 1.

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

OOP. Alapelvek Elek Tibor

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

az Excel for Windows programban

Adatstruktúrák Algoritmusok Objektumok

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Objektum orientált programozás Bevezetés

Bevezetés. Dr. Iványi Péter

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

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Programzás I gyakorlat

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

Programozás alapjai Bevezetés

Fordítóprogramok. Aszalós László szeptember 7.

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

(Prog.Inf. Szakon) (Prog.Mat. Szakon) Szendrei Rudolf

Programozás alapjai (ANSI C)

Adatbázis rendszerek. dr. Siki Zoltán

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

Programozás III. - NGB_IN001_3

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

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport

Programozás s 2. C++ nyelven

Szoftver-technológia I.

Bevezetés az informatikába

Iman 3.0 szoftverdokumentáció

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

OOP #14 (referencia-elv)

Programozás elmélete

A szoftverfejlesztés eszközei

Bevezetés a C++ programozási nyelvbe

Programozási nyelvek Java

Software engineering (Software techológia) Bevezetés, alapfogalmak. Történelem 1. Történelem as évek Megoldandó problémák: Fejlesztő: Eszköz:

C programozási nyelv

Adatbázis és szoftverfejlesztés elmélet

ME Szoftverfejlesztés

Programok értelmezése

Történeti áttekintés

A CMMI alapú szoftverfejlesztési si folyamat

Objektumorientált paradigma és a programfejlesztés

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Programozás s 2. C# nyelven

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?

I. Bevezetés. 1. ábra A Java "logója"

Objektum orientált alapelvek

Adatszerkezetek 2. Dr. Iványi Péter

Java programozási nyelv

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

GPU Lab. 5. fejezet. A C++ fordítási modellje. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Bemutatkozás. Bemutatkozás. Bemutatkozás. Bemutatkozás. 1. előadás. A tárgy címe: A programozás alapjai 1

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

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat


C programozás. 1 óra Bevezetés

FUNKCIONÁLIS PROGRAMOZÁS

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

ISA szimulátor objektum-orientált modell (C++)

Programozási alapismeretek 4.

Programozás módszertan p.1/46

A szerzõrõl... xi Bevezetés... xiii

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

Objektum orientált programozás (Object Oriented Programming = OOP)

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

Konzulensek: Mikó Gyula. Budapest, ősz

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

C++ programozási nyelv

Eljárások és függvények

Programozás s 2 javascript

Podoski Péter és Zabb László

1. Egyszerű (primitív) típusok. 2. Referencia típusok

A TANTÁRGY ADATLAPJA

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

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

Logikai programozás ADMINISZTRATÍV KÉRDÉSEK KÖVETELMÉNYRENDSZER FŐBB PONTOK NÉHÁNY BIZTATÓ SZÓ

Törley Gábor PROGRAMOZÁSI NYELVEK, KÖRNYEZETEK KIFEJEZŐEREJÉNEK VIZSGÁLATA

Társadalmi Megújul. felsőoktat. oktatásban

Szoftvertechnológia alapjai Java előadások

Objektumorientált paradigma és programfejlesztés Bevezető

Már megismert fogalmak áttekintése

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1


Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Java II. I A Java programozási nyelv alapelemei

Kód átvizsgálás. Irodalom. (Code review) code review,smart Bear Inc., ! Jason Cohen: Best kept secrets of peer

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

Matematikai programok

Nemzetközi. zi dokumentum-ell

Objektumorientált szoftverfejlesztés alapjai

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Programozási nyelvek (ADA)

STATISZTIKA. ( x) 2. Eloszlásf. 9. gyakorlat. Konfidencia intervallumok. átlag. 45% 40% 35% 30% 25% 20% 15% 10% 5% 0% (cm)

Programozási nyelvek 6. előadás

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

PROGRAMOZÁSMÓDSZERTAN II

Bevezetés a programozásba előadás: Alapvető programtervezési elvek

Eljárások, függvények

Átírás:

Programozás s 2 Objektum Orientált Programozás Alapok utolsó változtatás s 2008.04.12.

Alapok A programokat valamilyen "programozási nyelv"-en en írjuk A programozási nyelv formális (szintaktikai) és s tartalmi (szemantikai) szabályok gyűjtem jteménye Főbb programozási modellek (paradigmák) procedurális objektum orientált funkcionális

Paradigmák összehasonlításasa Procedurális programozás a program 'eljárások', 'függv ggvények', 'subrutinok' sorozata. Ezek egymást és s magukat is hívhatjh vhatják modularitás, változv ltozók, adatstrukturák k használata, program könyvtk nyvtárak (lib) a program állapotának (változ ltozók, proc. regiszterek, stb) változv ltozása vezérli rli 'imperatív v programozás'

Paradigmák összehasonlítása sa II. Objektum orientált programozás A program "objektumok"-ra lebontva működikm Objektum a programban egy egyedileg azonosít- ható struktura. Elsősorban sorban ez tartalmaz adatokat és módszereket (pl. változv ltozók, függvf ggvények, eljárások) Tisztán n objektum orientált: minden objektumokban van

Paradigmák összehasonlítása sa III. Logikai/descriptív v programozás logikai kapcsolatokra épül visszalépéses ses programvégrehajt grehajtás Mesterséges inteligencia programozás s kedvenc nyelve(i) Esemény orientált programozás A program futást (nem determisztikusan beérkez rkező) külső események - pl. felhasználói i input, hardvere, kommunikáci ció - szabják k meg

Paradigmák összehasonlítása sa IV. Funkcionális programozás matematikai függvf ggvényeken alapul, nem használ állapotokat és s változtathatv ltoztatható objektumokat Ilyen nyelvek pl. : APL, Mathematica, Haskell,Lisp, ML, F#, Scheme

Objektum Orientált Programozás Alaptulajdonságok (OOP) Magába foglalás s (encapsulation) Adat elrejtés az objektumok adatai "kívülr lről" l" nem láthatl thatóakak Modularitás Az objektumok a program építőkövei túlterhelés - "overload": ugyanazon néven n többfée e feladat végrehajtv grehajtása. A fordítás s során n a fordító dőnti el melyiket kell használnia.

OOP II. 1. operátorokra: Pl. a + jel a következk vetkező kifejezésekben 1+2 (egész számok), a+b (a, b valós s szám), A + B (vektorok, vagy mátrixok) m trixok), "vagy "+"karakterláncok" 2. függvényekre: pl. sqrt(int), sqrt(float), sqrt(double) 3. constructorokra: (default constructor, stb) Polimorfizmus ugyanazon néven n más m és s más m s feladatok felülírás "overriding" Leszármaztatott osztályokban ugyanaz a metódus mást m jelent. Feloldása futási időben.

OOP - alapfogalmak Osztály leírja az objektumokat 1. Mezők vagy változók vagy tulajdonságok 2. Metódusok vagy operáci ciók vagy függvények ezek lehetnek: 1. mások számára láthatl thatóak, ak, ("interface") 2. csak az osztály, barátai számára láthatl thatóak, ak, ill. 3. ugyanez a leszármaztatott osztályokra Objektum az osztály egy adott megvalósítása.

OOP - alapfogalmak Mező - a mezők értékeinek összessége adott pillanatban az objektum állapota. Módszerek - az objektum működése m és képességei Módszerek meghívása vagy üzenetek küldése Leszármaztat rmaztatás vagy Öröklődés objektumok hierarchiája. A leszármaztatott objektum a szülő objektum tulajdonságait örökli, illetve írja felül. l.

Programozási nyelvek Procedurális nyelvek pl: ADA, BASIC, Fortran, C, F, M, Matlab, Pascal, Perl, PHP,Python Sok OOP képes k nyelvben is lehet procedurális programokat készk szíteni Objektum Orientált programozásra (is) alkalmas nyelvek a legtöbb mai nyelvben/nyelvek újabb változataiban v van valami OOP lehetőség Pl.: Objective C, C++, C#, Java, Fortran, Pascel (Delphi), Perl,, PHP, Python, Smalltalk Megjegyzés: Lehet OOP-t t csinálni procedurális nyelven is, csak nehézkes

Programok készk szítésese technikai lépésekl 1. "Forrásk skód" megírása 2. gép g p számára érthető kód d előáll llítása. Ez lehetséges program értelmezőkkel (Interpreterekkel) forrásk skód d menet közbeni k értelmezése közbenső kód d (p-kód) létrehozl trehozása (fordítás), amit egy közbensk zbenső kód motor/értelmez rtelmező futtat fordítóprogram (compiler) linker párossal p (manapság g IDE-ben) a fordítóprogram OBJekt fájlokat f hoz létre. l Ezek már m r gépi g kódú k (a mikroporcesszoron végrehajthatv grehajtható) ) utasításokat sokat tartalmazó fájlok, de vannak benne külsk lső,, nem feloldott hivatkozások. Ebben vannak debug informáci ciók k is. Nem futtatható A linker feloldja a függf ggő hivatkozásokat és összekapcsolja az egyes OBJ fájlokat és s a könyvtk nyvtárakat (lib-eket) egy végrehajthatv grehajtható programmá.. Ennek a végén v n lehetnek debug informáci ciók, de azok nem töltt ltődnek be futtatáskor, csak, ha debugger-t t használunk. lunk. 3. program futtatása

Metodikák Programozási metodikák "Waterfall modell" a lépések l egymás s után n jönnek, j nincs visszalépés, s, USA "high risc projects" követelmények feláll llítása követelmények analízise a megoldás s megtervezése szoftver keretek létrehozl trehozása a kód k d megírása tesztelés telepítés s a felhasználókn knál utómunk munkák

Iteráci ciós s fejlesztés Metodikák k II. folyamatos javítása az egyes elkész szült részeknekr Inkrementális fejlesztés kezdetben kicsi és s egyre növekvn vekvő rendszer készítése, se, ahogy a tervezés s előrehalad az egyes programrészek különbk nböző idő alatt készülhetnek és s ezeket integrálj lják össze későbbk

"Agile programming" Metodikák k III. 'megrendelők', programozók, dokumentum készítők k együtt dolgoznak elsősorban sorban verbális kommunikáci ció a fontos, nem az írott rövid néhány n ny hetes fejlesztési si szakaszok közben is változhat v a célc motivált egyének együttm ttműködése

Metodikák k IV. ISO12207 a szoftverek kiválaszt lasztásának, megvalósításának és élettartama során nyomkövet vetésének nemzetközi zi szabványa (USA IEEE 12207) Programozási módszerek m (egyszerűsítés) s) felülr lről l lefelé (top-down) - javasolt lentről l felfelé (bottom-up) strukturált - feltétlen tlenül program helyesség g bizonyítás