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

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein."

Átírás

1 Programozás C++ osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék február 25.

2 Osztályok C++ osztályok Bevezetés Objektum-orientáltság jellemzői Adatmodell és az eljárásmodell elválaszthatatlan Absztrakt eszköz és fogalomrendszer Újrafelhasználhatóság Valós világot nagyon megközelíti Osztály (Class) Programozó által meghatározott típus Fodor A. (Pannon Egyetem) Programozás február / 35

3 Eszközök a C nyelvben C++ osztályok Bevezetés Struktúra és függvények alkalmazása Adatok tárolása Struktúra alkalmazásával Az adattagok tárolják az adattagok tárolják Adatok kezelése/feldolgozása Függvények segítségével Az adatokat tároló struktúrát át kell adni minden egyes függvénynek Az adatokat egyéb függvények is módosítani tudják A függvények és az adatok egymástól logikailag elkülönülnek Fodor A. (Pannon Egyetem) Programozás február / 35

4 Példa - Julián dátum számítása Bevezetés Csillagászati számításoknál használt Julián-dátum az i.e év első napjától eltelt napok számával és a óra/perc/másodperc helyett a nap decimális törtrészeivel adja meg az időpontokat JD kezdete i.e óra 0 perc 0 másodperc UTC (Universal Time Coordinated) Kialakulása Joseph Scaliger francia történész 1582-ben javasolta a feltehetően minden (akkor) ismert és megbízhatóan datált történelmi eseményt megelőző kezdetet a történelemtudomány számolási problémáinak kiküszöbölésére. (Például az időszámításunk kezdetének (az 1. év 1. nap délben) Julián-dátuma: ,00 JD.) A csillagászatban a XIX. századtól terjedt el Forrás és további részletek: Kulin György: A távcső világa (Gondolat Kiadó, 1980) Fodor A. (Pannon Egyetem) Programozás február / 35

5 Példa - Julián dátum számítása Bevezetés JD kiszámítása Az eltelt napok számát i.e január 1-jétől i.sz október 4-ig a Julianus-naptár napjainak száma adja október 15-től a Gergely-naptár napjainak száma A Julián naptár zavaros évei i.e i. sz. 8.: amikor a szökőéveket nem szabályosan használták Kibővített i. e. 46-ot (445 napos évet) nem veszi figyelembe Szabályosan számolja a szökőévet (Például: szökőév az i.e a.u.c. 753.(ab urbe condita = "a város alapításától fogva")) Az év 355 napos A többi szökőév szabályosan a két naptár szerinti szökőévektől függően 365, illetve 366 Az így kiszámított napok számának összegéből le kell vonni 0,5-öt, mert a Julián-nap kezdete déli 12 óra. JD kiszámítása spec. esetektől eltekintve JD = 367Y INT (7(Y + INT ((M + 9)/12))/4) INT (3(INT ((Y + (M 9)/7)/100) + 1)/4) + INT (275M/9) + D UT /24 Fodor A. (Pannon Egyetem) Programozás február / 35

6 Eszközök a C nyelvben C++ osztályok Bevezetés Példa Julian dátum számítása struct JDate double jd; int sec, min, hour, day, month, year; void Init_JDate(JDate *d, int, int, int, int, int, int); void Add_Year(JDate *d, int n); void Add_Month(JDate *d, int n); void Add_Day(JDate *d, int n); void Add_Hour(JDate *d, int n); void Add_Min(JDate *d, int n); void Add_Sec(JDate *d, int n); double CalculateJD(JDate *d); Fodor A. (Pannon Egyetem) Programozás február / 35

7 Függvények a C++ eszközeivel Bevezetés Struktúrába való tárolás Adattagokat Függvényeket Példa struct JDate2 double jd; int sec, min, hour, day, month, year; void Init_JDate(int pyear, int pmonth, int pday, int phour, int pmin, in void Add_Year(int n); void Add_Month(int n); void Add_Day(int n); void Add_Hour(int n); void Add_Min(int n); void Add_Sec(int n); double CalculateJD(); Fodor A. (Pannon Egyetem) Programozás február / 35

8 Bevezetés Függvények implementálása a C++ eszközeivel Struktúrába való tárolás Adattagokat Függvényeket Példa void JDate2::Init_JDate(int pyear, int pmonth, int pday, int phour, int pmin sec = psec; min = pmin; hour = phour; day = pday; month = pmonth; year = pyear; jd = CalculateJD(); } double JDate2::CalculateJD()... } Fodor A. (Pannon Egyetem) Programozás február / 35

9 Osztály C++ osztályok Osztályok Osztály (Class) Absztrakt eszköz Típusfogalom általánosítása (az eljárásorientált nyelveknél) Azonos attribútumú és módszerű objektumok együttese Osztályhoz köthetőek az objektumok Osztályból származtathatóak le az objektumok példányai Létrehozása a C++ nyelvben class osztaly_neve... Fodor A. (Pannon Egyetem) Programozás február / 35

10 Osztály C++ osztályok Osztályok Példa void CDate::Init_JDate(int pyear, int pmonth, int pday, int phour, int pmin, sec = psec; min = pmin; hour = phour; day = pday; month = pmonth; year = pyear; jd = CalculateJD(); } double CDate::CalculateJD() //... } Fodor A. (Pannon Egyetem) Programozás február / 35

11 Elérhetőség Elérhetőség szabályozása a C++ nyelvben Bezárás (Encapsulation) (OO ismétlés) Információrejtés elve (Information hiding) Interfész és implementációs rész Az osztály objektumaihoz csak az interfész részen keresztül férhetünk hozzá Az osztály implementációhoz nem lehet hozzáférni Az attributumok két részre bonthatóak Nyilvános (public) rész minden kliens osztály lát Privát (private) rész kívülről nem látható Ha az adattagokat kívülről valaki megváltoztatja, akkor hibásan működhetnek az osztályfüggvények Nem megengedhető az adatok elérése osztályon kívülről Védeni kell ezekeket az adatokat, le kell tiltani a hozzáférést Az osztály adatait az interface függvényeknek kell megváltoztatni Meg kell engedni az interface függvények elérése osztályon kívülről Megfelelő ellenőrzés után módosítják az osztály adattagjait Fodor A. (Pannon Egyetem) Programozás február / 35

12 Elérhetőség Elérhetőség szabályozása a C++ nyelvben Védett (private) tagok Osztályon kívülről nem érhető el Csak az osztályon belülről módosítható Megadása: private:... osztálytagok deklarációja... Nyilvános (public) tagok Osztályon kívülről is érhető el Osztályon kívülről és belülről is módosítható Rossz változó érték esetén, hibás adat megadása bárhol lehet a programban! Nehéz a hibák lokalizálása Megadása: public:... osztálytagok deklarációja... Fodor A. (Pannon Egyetem) Programozás február / 35

13 Elérhetőség Elérhetőség szabályozása a C++ nyelvben Az első public cimke előtt megadott tagok private elérésűek lesznek Az első public cimke utána következő tagok public elérésűek Példa: class CJDate double jd; int sec, min, hour, day, month, year; public: void Init_JDate(int pyear, int pmonth, int pday, int phour, int pmin, in void Add_Year(int n); void Add_Month(int n); void Add_Day(int n); void Add_Hour(int n); void Add_Min(int n); void Add_Sec(int n); double CalculateJD(); Fodor A. (Pannon Egyetem) Programozás február / 35

14 Elérhetőség Elérhetőség szabályozása a C++ nyelvben Private tagok elérési kívülről nem lehetséges A fordító a hibát már fordítási időben jelzi Példa: CJDate temp_jd; temp_jd.day = 5; A fordítóprogram letiltja a hozzáférést Hibaüzenet (MS Visual C++) error C2248: CDate::day : cannot access private member declared in class CDate Fodor A. (Pannon Egyetem) Programozás február / 35

15 Elérhetőség Elérhetőség szabályozása a C++ nyelvben Osztályon belül módosítható az összes private tag Kellő körültekintéssel kell eljárni a módosításoknál void CJDate::Init_JDate(int pyear, int pmonth, int pday, int phour, in sec = psec; min = pmin; hour = phour; day = pday; month = pmonth; year = pyear; jd = CalculateJD(); } Fodor A. (Pannon Egyetem) Programozás február / 35

16 Konstruktor (Constructor) Konstruktor (Constructor) Osztály létrehozásakor lefutó függvény Felhasználás: Az osztály létrehozásakor az inicializálás lefuttatása Osztályváltozók kezdőértékének beállítása Adatok tárolásához dinamikus memória fefoglalása (heap-ből) Előnyök: Nem felejti el a felhasználó (programozó) az inicializálást Az inicializálás csak egyszer fut le Lehetséges, hogy egyazon osztályt többféle képpen lehet inicializálni (más paraméterekkel) Osztály helyes használatához szükséges adatokat így mindenképpen átadásra kerülnek A konstruktor neve megegyezik az osztály nevével class osztaly_neve osztaly_neve( parameterek... ); Fodor A. (Pannon Egyetem) Programozás február / 35

17 Konstruktor (Constructor) Konstruktor (Constructor) Konstruktornak paraméterek is adhatóak Ha a konstruktornak vannak paraméterei, akkor azokat hiánytalanul meg kell adni az osztály létrehozásakor Példa: class CJDate double jd; int sec, min, hour, day, month, year; void CJDate(int pyear, int pmonth, int pday, int phour, int pmin, CJDate today = CJDate(2010, 2, 24, 16, 30, 0); CJDate bday(1979, 2, 17, 11, 55, 0); Példa: (Hibás konstruktor megadás) CJDate jd2; // error C2512: CJDate : no appropriate default constructor availabl CJDate jd3(2010, 2, 24); // error C2661: CJDate::CJDate : no overloaded function takes 3 argu Fodor A. (Pannon Egyetem) Programozás február / 35

18 Konstruktor (Constructor) Konstruktor (Constructor) Probléma: Lehetséges, hogy egyazon osztályt többféle képpen lehet inicializálni (másféle paraméterekkel) Megoldás: Szükség van többféle konstruktorra Nevük megegyezik, de a paramétereikben különbözőnek class osztaly_neve osztaly_neve( parameterlista1... ); osztaly_neve( parameterlista2... ); osztaly_neve( parameterlista3... ); Figyelni kell a paraméterek számára és típusára! Figyelni kell a konstruktorok "elburjánzására"! Fodor A. (Pannon Egyetem) Programozás február / 35

19 Konstruktor (Constructor) Konstruktor (Constructor) Példa: Nem akarjuk az időt beállítani csak a dátumot A mai dátummal akarjuk inicializálni class CJDate double jd; int sec, min, hour, day, month, year; public: CJDate(double pjd); CJDate(int pyear, int pmonth, int pday, int phour, int pmin, int p CJDate(int pyear, int pmonth, int pday, int phour); CJDate(int pyear, int pmonth, int pday); CJDate(); A paraméterek száma és típusa nem egyeik meg Konstruktorok kezdenek "elszaporodni" Fodor A. (Pannon Egyetem) Programozás február / 35

20 Konstruktor (Constructor) Konstruktor (Constructor) Példa: CJDate::CJDate(int pyear, int pmonth, int pday, int phour, int pmin, int pse sec = psec; min = pmin; hour = phour; day = pday; month = pmonth; year = pyear; jd = CalculateJD(); } CJDate(int pyear, int pmonth, int pday) sec = 0; min = 0; hour = 0; day = pday; month = pmonth; year = pyear; jd = CalculateJD(); } Fodor A. (Pannon Egyetem) Programozás február / 35

21 Konstruktor (Constructor) Konstruktor (Constructor) Hibás konstruktor függvény megadás: Paraméterekben megegyeznek egymással Fordításkor jelzi a fordító! class CJDate public: CJDate(int pyear, int pmonth, int pday, int phour, int pmin, int p CJDate(int pday, int pmonth, int pyear, int psec, int pmin, int ph Hibaüzenet error C2535: CJDate::CJDate(int,int,int,int,int,int) : member function already defined or declared..\progea_3.cpp(61): see declaration of CJDate::CJDate Figyelni kell a paraméterek számára és típusára! (Nem egyezhetnek meg) Fodor A. (Pannon Egyetem) Programozás február / 35

22 Alapértelmezett konstruktor Konstruktor (Constructor) A konstruktorok "elburjánzásának" a megakadályozására szolgál Ötlet: Ahol nincsen paraméter érték megadva, ott a programozó által megadott értéket helyettesítse be a fordító Így kiküszöbölhető felesleges konstruktor írás Megadása: Példa: class osztaly_neve osztaly_neve( tipus par1=def_ertek, tipus par1=def_ertek,... ); class CJDate public: CJDate(int pyear=0, int pmonth=0, int pday=0, int phour=100, int pmin=100, int psec=100); Fodor A. (Pannon Egyetem) Programozás február / 35

23 Alapértelmezett konstruktor Konstruktor (Constructor) Példa (Konstruktor implementációja): class CJDate public: CJDate(int pyear=0, int pmonth=0, int pday=0, int phour=100, int pmin=100, int psec=100); CJDate::CJDate(int pyear, int pmonth, int pday, int phour, int pmin, int psec) sec = psec!=100?psec:today.sec; //today globális változó min = pmin!=100?pmin:today.min; hour = phour!=100?phour:today.hour; day = pday?pday:today.day; month = pmonth?pmonth:today.month; year = pyear?pyear:today.year; jd = CalculateJD(); } Fodor A. (Pannon Egyetem) Programozás február / 35

24 Alapértelmezett konstruktor Konstruktor (Constructor) Az alapértelmezett konstruktor mellett figyekni kell, hogy milyen konstruktor marad(hat) Figyelni kell a paraméterek számára és típusára! Példa: class CJDate public: CJDate(int pyear=0, int pmonth=0, int pday=0, int phour=100, int pmin=100, int psec=100); CJDate(int pyear, int pmonth, int pday, int phour); CJDate(int pyear, int pmonth, int pday); CJDate(); Hiba lesz a fordításnál Fodor A. (Pannon Egyetem) Programozás február / 35

25 Statikus tagok C++ osztályok Statikus tagok Probléma: Globális változók használata gondot okozhat Bárki módosíthatja A felhasználó (programozó) nem állítja be megfelelően az értékét Megoldás: Globális változó(k) megszüntetése Statikus adattagok alkalmazása Statikus adattagok mindig az osztályhoz tartoznak Statikus adattagok minig csak 1 példányban léteznek, ellentétben a többi adattaggal Statikus függvények: osztálytagokhoz hozzáférnek, de nem feltétlenül kell objektum(ok)ra meghívni Fodor A. (Pannon Egyetem) Programozás február / 35

26 Statikus tagok C++ osztályok Statikus tagok Példa: Osztály létrehozása class CJDate private: double jd; int sec, min, hour, day, month, year; static CJDate DefaultJD; public: CJDate(double pjd); CJDate(int pyear=0, int pmonth=0, int pday=0, int phour=100, int pmin=10 static SetDefaultJD(double pjd); CJDate::SetDefaultJD(double pjd) CJDate::DefaultJD = CJDate(pJD); } Fodor A. (Pannon Egyetem) Programozás február / 35

27 Statikus tagok C++ osztályok Statikus tagok Példa (folytatás): Statikus tagok definiálása CJDate::CJDate(int pyear, int pmonth, int pday, int phour, int pmin, int pse sec = psec!=100?psec:defaultjd.sec; min = pmin!=100?pmin:defaultjd.min; hour = phour!=100?phour:defaultjd.hour; day = pday?pday:defaultjd.day; month = pmonth?pmonth:defaultjd.month; year = pyear?pyear:defaultjd.year; jd = CalculateJD(); } CJDate::SetDefaultJD( ); //2010 Februar 24 00:00:00.0 UT Fodor A. (Pannon Egyetem) Programozás február / 35

28 Osztály típusú objektumok másolása Osztály típusú objektumok másolása Szabadon másolhatóak Kezdőértékként egy azonos típusú osztály egy objektumának másolatát is kaphatják Példa: CJDate today = CJDate(2010, 2, 24, 16, 30, 0); CJDate bday(1979, 2, 17, 11, 55, 0); CJDate temp; temp = today; Fodor A. (Pannon Egyetem) Programozás február / 35

29 Konstans függvények C++ osztályok Konstans függvények Probléma: Védeni kell a tagváltozók értékeit a módosítástól A tagváltozók értékeihez nem lehet kiolvasni, mivel private elérésűek A konstans függvények nem változtathatják meg a tagváltozók értékeit A változtatási kisérletre a fordítóprogram hibával leáll. Megadása: viszzat_ertek fv_neve(parameterek) const Fodor A. (Pannon Egyetem) Programozás február / 35

30 Konstans függvények C++ osztályok Konstans függvények Példa: class CJDate double jd; int sec, min, hour, day, month, year; static CJDate DefaultJD; public: int GetYear() const return year;} int GetMonth() const return month;} int GetDay() const return day;} double GetJD() const; //.. double CJDate::GetJD() const return JD; } Fodor A. (Pannon Egyetem) Programozás február / 35

31 Mutable minősítő C++ osztályok Konstans függvények Gyorsítótárba kerülő adatoknál használható class CJDate double jd; mutable bool DateValid; mutable string StrDate; int sec, min, hour, day, month, year; static CJDate DefaultJD; //.. Fodor A. (Pannon Egyetem) Programozás február / 35

32 Önhivatkozás C++ osztályok Konstans függvények Frissítő függvények egy referenciát adnak vissza önmagukra "Láncba" lehet fűzni a frissítő függvényeket Példa: class CJDate CJDate& SetYear(int); CJDate& SetMonth(int); CJDate& SetDay(int); void SetJD(CJDate& pjd) void CJDate::SetJD(CJDate& pjd) pjd.setyear(2010).setmonth(2).setday(24); } Fodor A. (Pannon Egyetem) Programozás február / 35

33 Önhivatkozás C++ osztályok Konstans függvények Példa: void CJDate::SetJD(CJDate& pjd) pjd.setyear(2010).setmonth(2).setday(24); } CJDate& CJDate::SetYear(int pyear); Year = pyear; jd = CalculateJD(); return *this; } *this az az objektumot, amelyre a tagfüggvényt meghívták Fodor A. (Pannon Egyetem) Programozás február / 35

34 Struktúrák és osztályok C++ osztályok Konstans függvények A struktúra (struct), olyan osztály, melynek tagjai alapértelmezés szerint nyilvánosak struct s } class s public: } Elérhetőségi minősítés a struktúrába is rakható Osztályfüggvények is rakhatóak a struktúrába Fodor A. (Pannon Egyetem) Programozás február / 35

35 Osztályon belüli függvények Konstans függvények Inline tagfüggvény Az osztályon belül definiált (nem csak deklarált) függvények helyben kifejtett függvény Kicsi, gyakran használt függvényeknél jó Példa: class CJDate double jd; int sec, min, hour, day, month, year; static CJDate DefaultJD; public: int GetYear() const return year;} int GetMonth() const return month;} int GetDay() const return day;} double GetJD() const; //.. inline double CJDate::GetJD() const return JD; } Fodor A. (Pannon Egyetem) Programozás február / 35

Programozás. Osztályok, Származtatott osztályok. Fodor Attila

Programozás. Osztályok, Származtatott osztályok. Fodor Attila Programozás Osztályok, Származtatott osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. március 11. Beadandó feladat

Részletesebben

Osztály és objektum fogalma

Osztály és objektum fogalma Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály

Részletesebben

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok

Részletesebben

Felhasználó által definiált adattípus

Felhasználó által definiált adattípus Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési

Részletesebben

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma

Részletesebben

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 7. előadás AZ OOP alapelvei Egységbezárás(Encapsulation) Az adatokat es a hozzájuk tartozó eljárásokat egyetlen egységben (osztályban) kezeljük. Az osztály adatmezői

Részletesebben

0.2.1 Operátorok túlterhelése (műveletek definiálhatók felhaszn. típusokra) Kutya. Eb1. Eb2. Név (txt): Rex. Blöki. Német juhász 3

0.2.1 Operátorok túlterhelése (műveletek definiálhatók felhaszn. típusokra) Kutya. Eb1. Eb2. Név (txt): Rex. Blöki. Német juhász 3 0 Az objektum-orientáltság 0.1 Objektum fogalma Egy rendszer egyedileg azonosítható szereplője adatokkal és működéssel. Egységbezárás (encapsulation) - viselkedés a külvilág felé - belső struktúra (kívülről

Részletesebben

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein. Programozás C++ osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. április 8. Csak bázisosztályként használt/értelmezhető

Részletesebben

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás: Java V. szint lyszintű ű tagok A final minősítő Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 05. Java V.: szintű tagok JAVA5 / 1 Példányváltozó Az eddig megismert adattagokból

Részletesebben

Programozás C++ -ban 2007/4

Programozás C++ -ban 2007/4 Programozás C++ -ban 2007/4 1. Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több szempontból is hasznos

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia (Struktúra, mutatók, függvényhívás) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 október 14/21. Struktúra

Részletesebben

Származtatási mechanizmus a C++ nyelvben

Származtatási mechanizmus a C++ nyelvben Származtatási mechanizmus a C++ nyelvben Miskolci Egyetem Általános Informatikai Tanszék CPP2 / 1 Az öröklődés s fogalma 1. Egy osztály deklarálható valamely más osztály(ok) leszármazottjaként. Az deklaráció

Részletesebben

Objektum orientált alapelvek

Objektum orientált alapelvek Krizsán Zoltán 1 [2012. február 12.] Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Programozási nyelvek A programozási eszközök absztrakciós

Részletesebben

OOP: Java 8.Gy: Abstract osztályok, interfészek

OOP: Java 8.Gy: Abstract osztályok, interfészek OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus

Részletesebben

Programozási nyelvek II.: JAVA

Programozási nyelvek II.: JAVA Programozási nyelvek II.: JAVA 6. gyakorlat 2017. október 16-20. 6. gyakorlat Programozási nyelvek II.: JAVA 1 / 24 Az 6. gyakorlat tematikája túlterhelés - összefoglalás statikus adattagok és metódusok

Részletesebben

és az instanceof operátor

és az instanceof operátor Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

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

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

4. Öröklődés. Programozás II

4. Öröklődés. Programozás II 4. Öröklődés Programozás II Mielőtt belevágunk Egy Tárgy típusú objektumokat tároló tömb i. elemében tároljunk el egy új tárgyat Rossz módszer: tomb[i].setnev( uj.getnev() ); tomb[i].setertek( uj.getertek()

Részletesebben

C# osztályok. Krizsán Zoltán

C# osztályok. Krizsán Zoltán C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC

Részletesebben

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása

Részletesebben

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)

Részletesebben

Programozás II gyakorlat. 4. Öröklődés

Programozás II gyakorlat. 4. Öröklődés Programozás II gyakorlat 4. Öröklődés Feladat Egy játékfejlesztő cég olyan programot fejleszt, amely nyilvántartja az alkalmazottai adatait. Tároljuk minden személy: Nevét (legfeljebb 50 karakter) Születési

Részletesebben

Programozási nyelvek II.: JAVA

Programozási nyelvek II.: JAVA Programozási nyelvek II.: JAVA 6. gyakorlat 2017. október 16-20. 6. gyakorlat Programozási nyelvek II.: JAVA 1 / 1 Az 6. gyakorlat tematikája Túlterhelés - összefoglalás statikus adattagok és metódusok

Részletesebben

JAVA PROGRAMOZÁS 3.ELŐADÁS

JAVA PROGRAMOZÁS 3.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64

Részletesebben

Bevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek

Bevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 11. előadás 2014.05.12. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Adatszerkezetek

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Objektum-orientált szemlélet - Egységbe zárás (incapsulation) - Információ elrejtés - Öröklődés altípusosság dinamikus kötés Öröklődés Programozási nyelvek Java - kiterjesztem, kibővítem, megváltoztatom

Részletesebben

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Szimuláljuk különféle élőlények túlélési versenyét. A lények egy pályán haladnak végig, ahol váltakozó viszonyok vannak. Egy lénynek

Részletesebben

Programozás I. Első ZH segédlet

Programozás I. Első ZH segédlet Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett

Részletesebben

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás. Emlékeztető: a fordítás lépései Forrás-kezelő (source handler) Szimbólumtábla-kezelés Fordítóprogramok előadás (A, C, T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus elemző

Részletesebben

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Öröklés ism. Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek

Részletesebben

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

Részletesebben

Magas szintű programozási nyelvek 2 Előadás jegyzet

Magas szintű programozási nyelvek 2 Előadás jegyzet Magas szintű programozási nyelvek 2 Előadás jegyzet 1. Rendszerfejlesztés 0. lépés: Elemzés (analízis) 1. lépés: Tervezés a, technológia független rész b, technológia függő rész 2. lépés: Megvalósítás

Részletesebben

A C++ öröklés. (Előfeltétel: 12. tétel ismerete)

A C++ öröklés. (Előfeltétel: 12. tétel ismerete) Az öröklés fogalma: A C++ öröklés (Előfeltétel: 12. tétel ismerete) olyan alapvető programozási technika, amely lehetővé teszi, hogy a már meglévő osztályainkból újakat tudunk származtatni, valamint az

Részletesebben

Elemi Alkalmazások Fejlesztése II.

Elemi Alkalmazások Fejlesztése II. Elemi Alkalmazások Fejlesztése II. Osztályok közötti kapcsolatok öröklődés asszociáció aggregáció kompozíció 1. Feladat Készítsünk programot, amellyel testek térfogatát határozhatjuk meg, illetve megadhatjuk

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 1. ELŐADÁS - C# ÁTTEKINTÉS - 1 2015 Bánsághi Anna 1 of 84 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 84

Részletesebben

Objektumelvű programozás

Objektumelvű programozás Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé

Részletesebben

Programozás 5. Dr. Iványi Péter

Programozás 5. Dr. Iványi Péter Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct

Részletesebben

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere 2012. április 10. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? alaki szabályok használata - mintapélda használata - mintapélda

Részletesebben

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés OOP: Java 6.Gy: Java osztályok Definíció, static, túlterhelés 45/1 B ITv: MAN 2019.03.18 Feladat Készítsen egy Alkalmazott osztályt saját csomagban, név, kor és fizetés adatokkal. Legyen egy osztályszintű

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia A C programozási nyelv (Típusok és operátorok) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 szeptember

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C++ programozási nyelvbe Oktatási segédlet Összeállította: Ficsor Lajos 2001. 1. A C++ programozási nyelv története A C++ programozási nyelv

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float

Részletesebben

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 7. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/17 Tartalomjegyzék Házi

Részletesebben

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat 2. Digitális óra 28 OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK 2.1 A feladat Ebben a fejezetben egy viszonylag egyszerő problémára alkalmazva tekintjük át az OO tervezés modellezési technikáit. A feladat

Részletesebben

Java programozási nyelv 4. rész Osztályok II.

Java programozási nyelv 4. rész Osztályok II. Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék

Részletesebben

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

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus

Részletesebben

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás

Részletesebben

Programozási nyelvek II.: JAVA, 3. gyakorlat

Programozási nyelvek II.: JAVA, 3. gyakorlat Programozási nyelvek II.: JAVA, 3. gyakorlat 2017. szeptember 25-29. 2017. szeptember 25-29. Programozási nyelvek II.: JAVA, 3. gyakorlat 1 / 50 A 3. gyakorlat tematikája Osztályok deníciója Láthatósági

Részletesebben

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni? A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály

Részletesebben

Osztály szint tagok. Krizsán Zoltán 1 [2012. március 12.] Objektumorientált programozás C# alapokon tananyag

Osztály szint tagok. Krizsán Zoltán 1 [2012. március 12.] Objektumorientált programozás C# alapokon tananyag Krizsán Zoltán 1 [2012. március 12.] Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Bevezetés Outline Bevezetés Bevezetés Példány

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

Részletesebben

Bevezetés a programozásba Előadás: A const

Bevezetés a programozásba Előadás: A const Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout

Részletesebben

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

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 2. ELİADÁS Visual Basic bevezetı Visual Basic.NET nyelvi elemek 2 Visual Basic.NET programozási nyelv Nyelvi elemek: Általában

Részletesebben

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

ISA szimulátor objektum-orientált modell (C++) Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált

Részletesebben

Objektumok inicializálása

Objektumok inicializálása Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú

Részletesebben

117. AA Megoldó Alfréd AA 117.

117. AA Megoldó Alfréd AA 117. Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,

Részletesebben

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1 Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek SZERVER OLDALI JAVASCRIPT 3. hét Javascript nyelvi elemek NYELVI ALAPOK: Ez sajnos igen száraz anyag, Viszont a megértékhez és a nyelv elsajátításához kell. Próbáljuk meg random gifekkel feldobni. MIRŐL

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek emelt szint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title; PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function

Részletesebben

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

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok

Részletesebben

VB C++ C# JScript J# Common Language Specification. ADO.NET and XML. Base Class Library. Common Language Runtime. Operating System

VB C++ C# JScript J# Common Language Specification. ADO.NET and XML. Base Class Library. Common Language Runtime. Operating System P r o g r a m o z á s i n y e l v e k I I. C # E jegyzet másolata nem használható fel szabadon,az előadás anyagának kivonata. Ezen teljes jegyzetről,vagy annak bármely részéről bármely másolat készítéséhez

Részletesebben

Access adatbázis elérése OLE DB-n keresztül

Access adatbázis elérése OLE DB-n keresztül Access adatbázis elérése OLE DB-n keresztül Készítsünk egy grafikus felülető alkalmazást, ami lehetıvé teszi egy Access adatbázisban tárolt hallgatói adatok (EHA, Név, e-mail cím) lekérdezését (összes

Részletesebben

ö Ö ő ü ő ö ü ö ó Ö ő ó í ó ó ü ő ü ö ő ő ő ő ő ő ő ö í ő ő ő í ö ő ö ő É í ő ó ő í ö ö ö ö ő ő ö ő ő ő í í í ü ő í ó ő ő ö í ő ő ö ö ő ú ü ő ő ő ő ó ö Ö ő ő ó ö ő ó ö Ü ő ó ö ü ü Á ü ő ó ö í ö í ő ó ő

Részletesebben

2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

Öröklés és Polimorfizmus

Öröklés és Polimorfizmus Öröklés és Polimorfizmus Egy létező osztályból egy (vagy több) újat készítünk A létező osztályt ősnek, az újakat utódnak nevezzük Az utódok öröklik az ős minden tagját Az utódok az öröklött tagokat újakkal

Részletesebben

Google C++ style guide

Google C++ style guide Április 3, 2013 Tartalomjegyzék Amiről szó lesz... Header állományok Hatókör Osztályok Elnevezések Előzmények Az útmutató célja A Google nyílt forrású projektjeinél túlnyomórészt C++: hatékony szolgáltatások,

Részletesebben

Programozás II. 4. Dr. Iványi Péter

Programozás II. 4. Dr. Iványi Péter Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include

Részletesebben

Java III. I I. Osztálydefiníció (Bevezetés)

Java III. I I. Osztálydefiníció (Bevezetés) Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban

Részletesebben

Java III. I I. Osztálydefiníció (Bevezetés)

Java III. I I. Osztálydefiníció (Bevezetés) Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

RIA Rich Internet Application

RIA Rich Internet Application Áttekintés RIA Rich Internet Application Komplex felhasználói felülettel rendelkező web-alkalmazások Bevezető Flex áttekintés ActionScript Felhasználói felület tervezése Események Szerver oldali szolgáltatásokkal

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális

Részletesebben

Bevezetés, a C++ osztályok. Pere László

Bevezetés, a C++ osztályok. Pere László Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:

Részletesebben

Java adattípusok Java programozás alapjai Egyszerű adattípusok (int, float) Osztályokkal objektumok Nincs külön mutató, referencia, címe operátor, helyette: objektumok csak dinamikusan hozhatok létre és

Részletesebben

Az alábbi példában a Foo f(5); konstruktor hívása után mennyi lesz f.b értéke? struct Foo { int a, b; Foo(int c):a(c*2),b(c*3) {} };

Az alábbi példában a Foo f(5); konstruktor hívása után mennyi lesz f.b értéke? struct Foo { int a, b; Foo(int c):a(c*2),b(c*3) {} }; A C++ kódokban lévő makrókat melyik egység dolgozza fel az alábbiak közül? preprocessor A szabványos C++-ban nem is írhatunk makrókat (csak C-ben) assembler linker Az alábbi példában a Foo f(5); konstruktor

Részletesebben

Memóriakezelés, dinamikus memóriakezelés

Memóriakezelés, dinamikus memóriakezelés Metódus: függvények és eljárások összefoglaló neve. Memóriakezelés, dinamikus memóriakezelés Nézzük végig, a C++ memóriakezelését. Alapvetően három fő memóriaterületet különböztetünk meg. Végrehajtási

Részletesebben

Java programozási nyelv

Java programozási nyelv Szoftvertechnológia sáv Java programozási nyelv Dirk Louis-Peter Müller: Java (Belépés az internet világába) Panem kiadó, Budapest, 2002. Webvilág sorozat Készítette: Gregorics Tibor Vázlatos áttekintés

Részletesebben

C#, OOP. Osztályok tervezése C#-ban

C#, OOP. Osztályok tervezése C#-ban C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat

Részletesebben

ö ö ö ö ő ö ö ő ö ő ő ő ö ö ő ő ö ö ő ő ű ű ő ő ö ű ő ö ö ő ö ő ö ú ő ö ű ű ő ő ö ű ő ö ö ű ű ő ö ű ő ö ö ű ű ű ű ű ű ű ö ű ő É ö ú ö ö ö ö Ő ö ö ö ö ő ö ö ő ö ö ő ö ö ő ű ö ö ö ö ö ö ő Ö ő ö ö ő ö ő ö

Részletesebben

BME MOGI Gépészeti informatika 8.

BME MOGI Gépészeti informatika 8. BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező

Részletesebben

C++ programozási nyelv Konstruktorok-destruktorok

C++ programozási nyelv Konstruktorok-destruktorok C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

Az OO paradigma. Mitől OO egy program? Objektum Osztály Öröklődés

Az OO paradigma. Mitől OO egy program? Objektum Osztály Öröklődés 2. előadás Az OO paradigma Mitől OO egy program? Objektum Osztály Öröklődés 2 A valós világ modellezése Az ember a világ megértéséhez modelleket épít Modellezési alapelvek Absztrakció az a szemléletmód,

Részletesebben

AZ ÖNKÖLTSÉGSZÁMÍTÁSI SZABÁLYZAT CÉLJA, TARTALMA

AZ ÖNKÖLTSÉGSZÁMÍTÁSI SZABÁLYZAT CÉLJA, TARTALMA I. AZ ÖNKÖLTSÉGSZÁMÍTÁSI SZABÁLYZAT CÉLJA, TARTALMA Az önköltség számítási szabályzat célja, a vállalkozás gazdálkodásának hatékonyabbá tétele a költséggazdálkodás tervezése, elemzése útján. Szabályozza

Részletesebben

PHP5 Új generáció (2. rész)

PHP5 Új generáció (2. rész) PHP5 Új generáció (2. rész)...avagy hogyan használjuk okosan az osztályokat és objektumokat PHP 5-ben. Cikksorozatom elõzõ részében képet kaphattunk arról, hogy valójában mik is azok az objektumok, milyen

Részletesebben

Programozás II. labor

Programozás II. labor Programozás II. labor 1. rész Programozási tételek Öröklődés Interfészek Eseménykezelés Kivételkezelés Visszalépéses keresés Programozás II. Programozási tételek OOP alapok ismétlése Öröklődés Öröklődés

Részletesebben