Tartalomjegyzék. Köszönetnyilvánítás... xxix. Bevezetés... xxxi

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

Download "Tartalomjegyzék. Köszönetnyilvánítás... xxix. Bevezetés... xxxi"

Átírás

1 Köszönetnyilvánítás... xxix Bevezetés... xxxi Mi egy csapat vagyunk, az Olvasó és én... xxxii A könyv áttekintése... xxxiii Első kötet... xxxiii 1. rész: Bevezetés a C#-ba és a.net platformba... xxxiii 1. fejezet: A.NET filozófiája... xxxiii 2. fejezet: C#-alkalmazások készítése... xxxiv 2. rész: A C# alapvető építőelemei... xxxiv 3. fejezet: A C# alapvető építőelemei, I. rész... xxxiv 4. fejezet: A C# alapvető építőelemei, II. rész... xxxiv 5. fejezet: Egységbe zárt osztálytípusok definiálása... xxxv 6. fejezet: A származtatás és a polimorfizmus... xxxv 7. fejezet: Strukturált hibakezelés... xxxv 8. fejezet: Az objektumok életciklusa... xxxv 3. rész: Haladó programozási szerkezetek a C#-ban... xxxvi 9. fejezet: Interfészek használata... xxxvi 10. fejezet: Gyűjtemények és generikus típusok... xxxvi 11. fejezet Metódusreferenciák, események és lambdák... xxxvi 12. fejezet: Indexerek, operátorok és mutatók... xxxvii 13. fejezet: C# 2008 nyelvi újdonságai... xxxvii 14. fejezet: Bevezetés a nyelvbe ágyazott lekérdezésekbe (LINQ)... xxxvii 4. rész: Programozás.NET-szerelvényekkel... xxxvii 15. fejezet: A.NET-szerelvények... xxxviii 16. fejezet: Típusreflexió, késői kötés és attribútumalapú programozás... xxxviii 17. fejezet: Folyamatok, alkalmazástartományok és objektumkörnyezetek... xxxviii 18. fejezet: Többszálú alkalmazások készítése... xxxviii 19. fejezet: A köztes nyelv (CIL) és a dinamikus szerelvények... xxxix

2 Második kötet... xxxix 5. rész: Bevezetés a.net alaposztály-könyvtáraiba... xxxix 20. fejezet: Fájlműveletek és elkülönített tárolás... xxxix 21. fejezet: Bevezetés az objektumsorosítás világába... xl 22. fejezet: ADO.NET 1. rész: Az élő kapcsolat... xl 23. fejezet: ADO.NET 2. rész: A bontott kapcsolat... xl 24. fejezet: A LINQ API programozása... xl 25. fejezet: A WCF... xli 26. fejezet: A WF... xli 6. rész: Felhasználói felületek... xli 27. fejezet: Windows Forms-programozás... xli 28. fejezet: A WPF és az XAML... xlii 29. fejezet: Programozás WPF-vezérlőelemmekkel... xlii 30. fejezet: WPF 2D grafikus renderelés, erőforrások és témák... xlii 7. rész: Webes alkalmazások fejlesztése ASP.NET segítségével... xliii 31. fejezet: ASP.NET weboldalak készítése... xliii 32. fejezet: ASP.NET-vezérlőelemek, témák és mesteroldalak... xliii 33. fejezet: ASP.NET állapotkezelési technikák... xliii 8. rész: Függelék... xliv A függelék: A COM és a.net együttműködése... xliv B függelék: Platformfüggetlen.NET-fejlesztés a Monóval... xliv Öt szabadon letölthető fejezet még több információ... xlv A könyv forráskódjának igénylése... xlv A lehetséges javítások... xlvi Elérhetőségem... xlvi 1. rész: Bevezetés a C#-ba és a.net platformba 1. A.NET filozófiája... 3 Az előzmények áttekintése... 4 Egy C/Win32 API programozó élete... 4 Egy C++/MFC-programozó élete... 4 Egy Visual Basic 6.0 programozó élete... 5 Egy Java/J2EE-programozó élete... 5 Egy COM-fejlesztő élete... 6 Egy Windows DNA programozó élete... 7 viii

3 A.NET-megoldás... 8 Bevezetés a.net platform építőelemeibe (CLR, CTS és CLS)... 9 Az alaposztálykönyvtárak szerepe A C# előnyei További.NET-alapú programozási nyelvek Élet egy többnyelvű világban A.NET-szerelvények áttekintése Egyfájlos és többfájlos szerelvények A közös köztes nyelv (CIL) szerepe A köztes nyelv előnyei A köztes nyelv fordítása platformfüggő utasítássá A.NET-típusmetaadat szerepe A szerelvény manifesztumának szerepe A közös típusrendszer (CTS) Az egységes típusrendszer osztálytípusai Az egységes típusrendszer interfésztípusai Az egységes típusrendszer struktúratípusai Az egységes típusrendszer felsorolt típusai Az egységes típusrendszer metódusreferencia-típusai Az egységes típusrendszer típustagjai Valódi CTS-adattípusok A közös nyelvi specifikáció (CLS) A CLS-megfeleltetés biztosítása A közös nyelvi futtatórendszer (CLR) A szerelvény, a névtér és a típus megkülönböztetése A Microsoft-névterek szerepe Programozott hozzáférés a névterekhez Hivatkozás külső szerelvényekre Szerelvények feltárása az ildasm.exe segítségével A köztes nyelvi kód megtekintése A típusmetaadat megtekintése Szerelvény metaadatának (manifesztumának) megtekintése Szerelvények feltárása a Lutz Roeder's Reflector segítségével A.NET-futtatókörnyezet telepítése A.NET platformfüggetlen természete Összefoglalás ix

4 2. C#-alkalmazások fordítása A.NET 3.5 keretrendszer fejlesztőkészletének szerepe A Visual Studio 2008 parancssor C#-alkalmazások fordítása csc.exe használatával Bemeneti és kimeneti célok megadása Hivatkozás külső szerelvényekre Hivatkozás több külső szerelvényre Több forrásfájl fordítása A C#-reakciófájlok használata NET-alkalmazás készítése TextPad használatával A C#-kulcsszószínezés bekapcsolása A *.cs fájlszűrő konfigurálása A csc.exe integrálása Futtatási parancsok társítása menüelemekhez NET-alkalmazás készítése Notepad++ használatával Az automatikus kiegészítési lista testreszabása NET-alkalmazás készítése SharpDevelop használatával Egy egyszerű tesztprojekt létrehozása NET-alkalmazás készítése Visual C# 2008 Express használatával A Visual C# Express néhány jellegzetessége NET-alkalmazás készítése Visual Studio 2008 használatával A Visual Studio 2008 néhány jellegzetessége A.NET-keretrendszer kiválasztása a New Project párbeszédablak segítségével A Solution Explorer használata Hivatkozás külső szerelvényekre Projekttulajdonságok megtekintése A Class View Az Object Browser Integrált támogatás a kódújratervezéshez Kódbővítések és a környezetbe foglalás technológiája A Visual Class Designer Object Test Bench Az integrált.net Framework 3.5 dokumentációs rendszer További.NET-fejlesztőeszközök Összefoglalás x

5 2. rész: A C# alapvető építőelemei 3. A C# alapvető építőelemei, I. rész Egy egyszerű C#-program anatómiája Variációk Main() metódusra Alkalmazás-hibakód megadása A parancssori argumentumok feldolgozása Parancssori paraméterek megadása Visual Studio 2008-ban Érdekes kitérő: a System.Environment osztály néhány további tagja A System.Console osztály A Console osztály alapvető bemenete és kimenete A konzolkimenet formázása Numerikus adatok formázása Numerikus adatok formázása a parancssori alkalmazásokon túl A System-adattípusok és gyorsazonosítóik a C#-ban Változódeklarálás és inicializálás A beépített adattípusok példányosítása Az adattípusok hierarchiája A numerikus adattípusok tagjai A System.Boolean tagjai A System.Char tagjai Értékek értelmezése sztringadatokból A System.String típus Egyszerű sztringkezelés Sztringösszefűzés Vezérlőkarakterek Szó szerinti sztringek definiálása A sztringek és az egyenlőség A sztring megváltoztathatatlan A System.Text.StringBuilder típus System.DateTime és System.TimeSpan Szűkítő és bővítő adattípus-konverziók Hibacsapda állítása a szűkítő adatkonverzióknak Projektszintű túlcsordulás-ellenőrzés beállítása Az unchecked kulcsszó A System.Convert szerepe xi

6 Ciklus készítése a C#-ban A for ciklus A foreach ciklus A while és a do/while ciklusszerkezetek Elágazó szerkezetek és a reláció/egyenlőség-operátorok Az if/else utasítás A switch utasítás Összefoglalás A C# alapvető építőelemei, II. rész Metódusok és paramétermódosítók Az alapértelmezett paraméterátadási viselkedés Az out módosító A ref módosító A params módosító A tag túlterhelésének megértése Tömbök kezelése a C#-ban A C# tömbinicializáló szintaxisa Objektumtömb definiálása Munka a többdimenziós tömbökkel Tömbök mint paraméterek (és visszatérési értékek) A System.Array ősosztály Az Enum típus Az enum alapjául szolgáló tároló vezérlése Felsorolások deklarálása és használata A System.Enum típus Felsorolás név/érték párjainak dinamikus feltárása A struktúratípus Struktúraváltozók létrehozása Érték- és referenciatípusok Érték- és referenciatípusok, valamint az értékadó operátor Referenciatípusokat tartalmazó értéktípusok Referenciatípusok átadása értékként Referenciatípusok átadása referenciaként Érték- és referenciatípusok: további részletek Nullázható típusok a C#-ban Munka a nullázható típusokkal A?? operátor Összefoglalás xii

7 5. Beágyazott osztálytípusok definiálása Bevezetés a C# osztálytípusaiba Objektumok memóriaterületének lefoglalása a new kulcsszóval A konstruktor Az alapértelmezett konstruktor szerepe Egyedi konstruktor definiálása Az újradefiniált alapértelmezett konstruktor A this kulcsszó szerepe Konstruktorhívások láncolása a this kulcsszóval A konstruktorok lefutásának sorrendje A static kulcsszó Statikus metódusok (és mezők) definiálása Statikus adatok definiálása Statikus konstruktorok definiálása Statikus osztályok definiálása Az objektumorientált programozás alappillérei Az egységbe zárás A származtatás A polimorfizmus Hozzáférés-módosítók a C#-ban Az alapértelmezett hozzáférés-módosítók Hozzáférés-módosítók és beágyazott típusok Az első pillér: az egységbe zárás a C#-ban Egységbe zárás tradicionális lekérdezők és módosítók használatával Egységbe zárás típustulajdonságok használatával A tulajdonságok belső reprezentációja A get/set utasítástulajdonságok láthatósági szintjeinek vezérlése Csak olvasható és csak írható tulajdonságok Statikus tulajdonságok Konstans adatok Írásvédett mezők Statikus írásvédett mezők Részleges típusok xiii

8 A C#-forráskód dokumentálása XML segítségével Az XML-fájl generálása XML-megjegyzések átalakítása az NDoc-on keresztül Az elvégzett munka eredményének láthatóvá tétele Összefoglalás A származtatás és a polimorfizmus A származtatás alapvető szerkezete Az osztálytípus szülőosztálya Több ősosztály A sealed kulcsszó Osztálydiagramok készítése a Visual Studio 2008-ban A második pillér: a származtatás Ősosztály konstruktorának meghívása a base kulcsszóval Családi titok megtartása: a protected kulcsszó Lezárt osztály hozzáadása A tartalmazás és a delegálás A beágyazott típus definiálása A harmadik pillér: a polimorfizmus támogatása A virtual és override kulcsszavak Virtuális tagok felülbírálása a Visual Studio 2008 segítségével A virtuális tagok lezárása Az absztrakt osztályok Polimorfikus interfész építése Tagok eltakarása Az ősosztály, a leszármazott osztály és a típusmódosítási szabályok Az as kulcsszó Az is kulcsszó A fő szülőosztály: a System.Object A System.Object.ToString() felüldefiniálása A System.Object.Equals() felüldefiniálása A System.Object.GetHashCode() felüldefiniálása A módosított Person osztály tesztelése A System.Object statikus tagjai Összefoglalás xiv

9 7. A strukturált kivételkezelés Hibák, programhibák és kivételek A kivételkezelés szerepe a.net-ben A.NET-kivételkezelés A System.Exception ősosztály A lehető legegyszerűbb példa Általános kivétel dobása Kivételek elkapása A kivétel tulajdonságainak beállítása A TargetSite tulajdonság A StackTrace tulajdonság A HelpLink tulajdonság A Data tulajdonság Rendszerszintű kivételek (System.SystemException) Alkalmazásszintű kivételek (System.ApplicationException) Egyedi kivétel készítése, 1. rész Egyedi kivétel készítése, 2. rész Egyedi kivétel készítése, 3. rész Többszörös kivételek feldolgozása Általános catch utasítások Kivételek továbbdobása Belső kivételek A finally blokk Ki mit dob? A kezeletlen kivételek eredménye Kezeletlen kivételek hibakeresése a Visual Studio használatával Összefoglalás Az objektumok élettartama Osztályok, objektumok és referenciák Az objektumok élettartama A new kulcsszó köztes nyelve Objektumreferenciák null értékre állítása Az alkalmazás gyökérelemének szerepe Az objektumgenerációk A System.GC típus A szemétgyűjtés kikényszerítése xv

10 Véglegesíthető objektumok készítése A System.Object.Finalize() felüldefiniálása A véglegesítő folyamat részletei Eldobható objektumok készítése A C# using kulcsszó egy újabb alkalmazása Véglegesíthető és eldobható típusok készítése A formalizált felszabadítási minta Összefoglalás rész: Haladó programozási szerkezetek a C#-ban 9. Interfészek használata Az Interface típus Az interfésztípusok és absztrakt ősosztályok összehasonlítása Saját interfészek definiálása Az interfész implementálása Interfésztagok hívása az objektumon Az interfészreferenciák megszerzése: az as kulcsszó Az interfészreferenciák megszerzése: az is kulcsszó Interfészek mint paraméterek Interfészek mint visszatérési értékek Interfésztípusok tömbje Interfészimplementálás a Visual Studio 2008 segítségével Névütközés feloldása explicit interfészimplementációval Interfészhierarchia tervezése Többszörös öröklés interfésztípusokkal Felsorolható típusok készítése (IEnumerable és IEnumerator) Iterátor metódus készítése a yield kulcsszóval Nevesített iterátor létrehozása Az iterátormetódusok belső reprezentációja Klónozható objektumok készítése (ICloneable) Egy összetettebb klónozási példa Összehasonlítható objektumok készítése (IComparable) Többszörös rendezési sorrend megadása (IComparable) Egyedi tulajdonságok, egyedi rendezési típusok A Callback interfész Összefoglalás xvi

11 10. Gyűjtemények és generikus típusok A System.Collections névtér interfészei Az ICollection interfész Az IDictionary interfész Az IDictionaryEnumerator interfész Az IList interfész A System.Collections névtér osztálytípusai Az ArrayList típus használata A Queue típus használata A Stack típus használata A System.Collections.Specialized névtér A bedobozolás, kidobozolás és a System.Object kapcsolata A dobozolással járó probléma A típusbiztonság és az erősen típusos gyűjtemények Egyedi gyűjtemény készítése Az erősen típusos gyűjtemények és a dobozolás A System.Collections.Generic névtér A List<T> típus vizsgálata Saját generikus metódusok létrehozása A típusparaméterek kikövetkeztetése Generikus struktúrák és osztályok létrehozása A default kulcsszó a generikus kódban Saját generikus gyűjtemény készítése A saját generikus gyűjtemény korlátai Típusparaméter korlátozása a where kulcsszó használatával Az operátorkorlátozások hiánya Generikus ősosztály létrehozása Generikus interfész létrehozása Összefoglalás Metódusreferenciák, események és lambdák A.NET-metódusreferencia A metódusreferencia definiálása C#-ban A System.MulticastDelegate és System.Delegate alaposztályok A legegyszerűbb metódusreferencia A metódusreferencia-objektum vizsgálata xvii

12 A Car típus utólagos módosítása metódusreferenciákkal Többes küldés engedélyezése Cél eltávolítása a metódusreferencia hívási listájáról Egy összetettebb metódusreferencia Metódusreferenciák mint paraméterek Az átirányító kód elemzése Metódusreferenciák kovarianciája Generikus metódusreferencia készítése A generikus metódusreferencia szimulációja generikus típusok nélkül C#-események Az event kulcsszó Eseménykezelés a felszín alatt A bejövő események figyelése Esemény beregisztrálásának egyszerűsítése a Visual Studio 2008 használatával Egy korrekt esemény A generikus EventHandler<T> metódusreferencia Névtelen metódusok a C# -ban Külső változók elérése A metóduscsoport átalakítása A C# 2008 lambda operátora A lambda kifejezések részletezése Argumentumok feldolgozása több utasításon keresztül A CarDelegate példa áttervezése lambda kifejezések használatával Lambda kifejezések több paraméterrel (vagy paraméterek nélkül) Összefoglalás Indexelők, operátorok és mutatók Az indexelő metódus Objektumok indexelése sztringértékekkel Az indexelő metódusok túlterhelése Az indexelő metódusok belső ábrázolása Többdimenziós indexelők Indexelő definíciók interfésztípusokon xviii

13 Az operátor-túlterhelés Kétoperandusú operátorok túlterhelése Mi a helyzet a += és -= operátorokkal? Egyoperandusú operátorok túlterhelése Az egyenlőségvizsgáló operátorok túlterhelése Összehasonlító operátorok túlterhelése A túlterhelt operátorok belső ábrázolása Zárszó az operátor-túlterhelésről Egyedi típuskonverziók A numerikus konverzió Konverzió az egymásból származó osztálytípusok között Egyedi konverziós rutinok készítése A Square típus további explicit konverziói Implicit konverziós rutinok definiálása Az egyedi konverziós rutinok belső ábrázolása Mutatótípusok használata Az unsafe kulcsszó A * és az & operátor A nem felügyelt (és felügyelt) cserefüggvény Mezőelérés mutatókkal (a -> operátor) A stackalloc kulcsszó Típuspéldány rögzítése a fixed kulcsszóval A sizeof kulcsszó A C# előfordítói direktívái Kódrégiók megadása Feltételes kódfordítás Összefoglalás A C# 2008 nyelv szolgáltatásai Implicit típusú lokális változók A var használata foreach szerkezetekben Az implicit típusú változókra vonatkozó korlátozások Implicit típusú lokális tömbök Az implicit típusú adatok erősen tipizáltak Az implicit típusú lokális változók előnye Automatikus tulajdonságok Interakció automatikus tulajdonságokkal Az automatikus tulajdonságok elérésének korlátozása Az automatikus tulajdonságok és az alapértelmezett értékek xix

14 Bővítő metódusok A bővítő metódusok definiálása A bővítő metódusok meghívása példányszinten A bővítő metódusok statikus meghívása A bővítő metódus hatóköre A bővítő metódusokat definiáló típusok importálása IntelliSense a bővítő metódusokhoz Bővítő könyvtárak létrehozása és használata Interfésztípusok kiterjesztése bővítő metódusokkal Részleges metódusok A részleges metódusok első pillantásra A részleges metódusok használata Az objektuminicializáló szintaxis Egyedi konstruktor meghívása az inicializációs szintaxissal A belső típusok inicializálása Gyűjteményinicializálók Névtelen típusok A névtelen típusok belső ábrázolása A ToString() és a GetHashCode() megvalósítása Az egyenlőség szemantikája névtelen típusoknál Névtelen típusokat tartalmazó névtelen típusok Összefoglalás A LINQ. Bevezetés A LINQ szerepe A LINQ-kifejezések jellemzői (tipizáltság és kiterjeszthetőség) Alapvető LINQ-szerelvények Bevezetés a LINQ lekérdező kifejezésekbe A LINQ és az implicit típusú lokális változók A LINQ és a bővítő metódusok A késleltetett futtatás szerepe Az azonnali futtatás szerepe A LINQ és a generikus gyűjtemények A LINQ-kifejezés alkalmazása A LINQ és a nem generikus gyűjtemények Adatok szűrése az OfType<T>() használatával xx

15 A LINQ-lekérdezésoperátorok belső ábrázolása Lekérdező kifejezések létrehozása lekérdezésoperátorok segítségével. Ismétlés Lekérdező kifejezések létrehozása az Enumerable típus és a lambdák használatával Lekérdező kifejezések létrehozása az Enumerable típus és a névtelen metódusok használatával Lekérdező kifejezések létrehozása az Enumerable típus és a nyers metódusreferenciák használatával A LINQ-lekérdezésoperátorok Elemek számának meghatározása az Enumerable segítségével Egyszerű tesztprojekt létrehozása A kiválasztó szintaxis alapjai Adatok egy részhalmazának kinyerése Új adattípusok leképezése Az eredményhalmaz-elemek sorrendjének megfordítása Kifejezések rendezése Különbségek keresése LINQ-lekérdezések: szigetek a szigeteken? Lekérdezéseredmények transzformálása Array típussá Összefoglalás rész: Programozás.NET-szerelvényekkel 15. A.NET-szerelvények Egyedi névtér definiálása A típus teljesen meghatározott neve Definiálás álnevek használatával Beágyazott névterek létrehozása A Visual Studio 2008 alapértelmezett névtere A.NET-szerelvények szerepe A szerelvények a kód újrafelhasználását segítik A szerelvények típushatárokat definiálnak A szerelvények verzióval rendelkező egységek A szerelvények önleírók A szerelvények konfigurálhatók xxi

16 A.NET-szerelvények felépítése A Win32-fejléc A CLR-fejléc A köztes nyelvi kód, a típusmetaadat és a szerelvénymanifesztum Opcionális szerelvény-erőforrások Egyfájlos és többfájlos szerelvények Egy állományból álló szerelvény készítése és használata A manifesztum A köztes nyelvi kód A típusmetaadat C#-ügyfélalkalmazás készítése Visual Basic ügyfélalkalmazás készítése A nyelvek közti származtatás Több állományból álló szerelvény készítése és használata Az ufo.netmodule fájl Az airvehicles.dll fájl A többfájlos szerelvény használata Privát szerelvények A privát szerelvény azonosítója A keresési sorrend (probing) megadása Privát szerelvények beállítása Konfigurációs fájok és a Visual Studio A.NET Framework konfiguráló segédprogramja Megosztott szerelvények Erős nevek megértése A CarLibrary.dll ellátása erős névvel Erős nevek hozzárendelése a Visual Studio 2008 segítségével Megosztott szerelvények telepítése/eltávolítása a globális szerelvénytárba A megosztott szerelvények felhasználása A SharedCarLibClient manifesztuma A megosztott szerelvények konfigurálása Az aktuális megosztott szerelvény befagyasztása A megosztott szerelvény verziójának elkészítése Dinamikus átirányítás a megosztott szerelvények meghatározott verzióiba A.NET Framework konfiguráló programja ismét xxii

17 A GAC belső felépítése Kibocsátó házirenddel rendelkező szerelvény A kibocsátó házirend letiltása A <codebase> elem A System.Configuration névtér A gépi szintű konfigurációs fájl Összefoglalás Típusreflexió, késői kötés és attribútumalapú programozás A metaadatok szükségessége Az EngineState felsorolás (részleges) metaadata A Car típus (részleges) metaadata A TypeRef A definiáló szerelvény leírása A hivatkozott szerelvények leírása Sztringliterálok leírása A reflexió A System.Type osztály Típusreferencia megszerzése a System.Object.GetType() segítségével Típusreferencia megszerzése a System.Type.GetType() segítségével Típusreferencia készítése a typeof() segítségével Egyedi metaadat-nézegető létrehozása A metódusok reflexiója Mezők és tulajdonságok reflexiója A típus által megvalósított interfészek reflexiója Egyéb érdekességek megjelenítése A Main() metódus megvalósítása Generikus típusok reflexiója Metódusparaméterek és visszatérési értékek reflexiója Dinamikusan betöltődő szerelvények Megosztott szerelvények A késői kötés A System.Activator osztály Paraméter nélküli metódusok hívása Paraméterekkel rendelkező metódusok hívása xxiii

18 Programozás attribútumokkal Attribútumok feldolgozása Attribútumok alkalmazása a C# nyelvben Attribútumok konstruktorparamétereinek meghatározása Az Obsolete attribútum működés közben C#-attribútum rövidített formája Egyedi attribútum készítése Egyedi attribútumok alkalmazása Nevesített tulajdonság szintaxisa Az attribútumok használatának korlátozása Alkalmazásszintű (és modulszintű) attribútumok A Visual Studio 2008 AssemblyInfo.cs fájlja Attribútumok korai kötés használatával Attribútumok késői kötés használatával Reflexió, késői kötés és egyedi attribútumok kifejtése Kiterjeszthető alkalmazás készítése A CommonSnappableTypes.dll létrehozása C# beépülő modul létrehozása A Visual Basic beépülő modul készítése Kiterjeszthető Windows Forms-alkalmazás készítése Összefoglalás Folyamatok, alkalmazástartományok és objektumkörnyezetek A tradicionális Win32-es folyamat áttekintése A szálak áttekintése Folyamatok kezelése a.net platformban A futó folyamatok listázása Egy adott folyamat vizsgálata Egy folyamat szálkészletének vizsgálata Egy folyamat modulkészletének vizsgálata Folyamatok programozott indítása és leállítása A.NET-alkalmazástartomány Folyamat alkalmazástartományainak felsorolása Új alkalmazástartományok programozott létrehozása Alkalmazástartományok programozott eltávolítása Az objektumkontextus határai Kontextusváltó és kötött típusok xxiv

19 Kötött objektum meghatározása Egy objektum kontextusának vizsgálata A folyamat, alkalmazástartomány és a kontextus összefoglalása Összefoglalás Többszálú alkalmazások létrehozása A folyamat, az alkalmazástartomány, a kontextus és a szál kapcsolata A konkurencia problémája A szálszinkronizáció szerepe A.NET-metódusreferenciák rövid áttekintése A metódusreferenciák aszinkron viselkedése A BeginInvoke() és az EndInvoke() metódusok A System.IAsyncResult interfész Metódushívás aszinkron módon A hívó szál szinkronizálása Az AsyncCallback metódusreferencia szerepe Az AsyncResult osztály szerepe Egyedi állapotadatok átadása és fogadása A System.Threading névtér A System.Threading.Thread osztály Hozzáférés az aktuális szál statisztikáihoz A Name tulajdonság A Priority tulajdonság Második szál létrehozása kódból A ThreadStart metódusreferencia használata A ParameterizedThreadStart metódusreferencia használata Előtérben és háttérben futó szálak A konkurencia kérdése Szinkronizáció a C# lock kulcsszavával Szinkronizáció a System.Threading.Monitor típussal Szinkronizáció a System.Threading.Interlocked típussal Szinkronizáció a [Synchronization] attribútummal Programozás időzített visszahívással A CLR ThreadPool A BackgroundWorker komponens A BackgroundWorker típus használata Adatfeldolgozás a BackgroundWorker típussal Összefoglalás xxv

20 19. A CIL és a dinamikus szerelvények szerepe A CIL-programozás természete CIL-direktívák, -attribútumok és -vezérlőkódok A CIL-direktívák szerepe A CIL-attribútumok szerepe A CIL-vezérlőkódok szerepe A CIL-vezérlőkódok/CIL-mnemoni megkülönböztetése Verem írása/olvasása: A CIL veremalapú természete A round-trip engineering A CIL-kódcímkék szerepe Fejlesztés a CIL-lel: egy *.il fájl módosítása A CIL-kód fordítása ilasm.exe használatával CIL-kód fordítása SharpDevelop használatával A peverify.exe szerepe CIL-direktívák és -attribútumok Külsőleg hivatkozott szerelvények meghatározása CIL-ben Az aktuális szerelvény definiálása CIL-ben Névtér definiálása CIL-ben Osztálytípusok definiálása CIL-ben Interfészek definiálása és implementálása CIL-ben Struktúrák definiálása CIL-ben Felsorolt típusok definiálása CIL-ben Generikus típusok definiálása a CIL-ben A CILTypes.il fájl fordítása NET-alaposztálykönyvtár, C#- és CIL-adattípus-leképzések Típustagok definiálása CIL-ben Adatmezők definiálása CIL-ben Típuskonstruktorok definiálása CIL-ben Tulajdonságok definiálása CIL-ben Tagparaméterek definiálása A CIL-vezérlőkódok A.maxstack direktíva Lokális változók deklarálása CIL-ben Paraméterek leképzése lokális változókba CIL-ben A rejtett this referencia Ciklusok reprezentációja a CIL-ben xxvi

21 .NET-szerelvény készítése köztes nyelven A CILCars.dll létrehozása A CILCarClient.exe létrehozása Dinamikus szerelvények A System.Reflection.Emit névtér A System.Reflection.Emit.ILGenerator szerepe Dinamikus szerelvény generálása A szerelvény- és a modulkészlet generálása A ModuleBuilder típus szerepe A HelloClass típus és a sztringtípusú tagváltozó generálása A konstruktorok generálása A SayHello() metódus generálása Dinamikusan létrehozott szerelvény használata Összefoglalás Tárgymutató A szakmai lektorról A szerzőről xxvii

I. rész: A Microsoft Visual C# és a Microsoft Visual Studio 2005 bemutatása. 1. Üdvözöljük a C# világában! 3

I. rész: A Microsoft Visual C# és a Microsoft Visual Studio 2005 bemutatása. 1. Üdvözöljük a C# világában! 3 Köszönetnyilvánítás Bevezetés Honnan kezdjük a könyv olvasását? A könyvben használt konvenciók és egyéb jelölések Konvenciók Egyéb jelölések Online kiegészítő tartalom Technológiai frissítések Rendszerkövetelmények

Részletesebben

1. Bevezetés A C++ nem objektumorientált újdonságai 3

1. Bevezetés A C++ nem objektumorientált újdonságai 3 Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.

Részletesebben

Már megismert fogalmak áttekintése

Már megismert fogalmak áttekintése Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak

Részletesebben

George Shepherd. 1. A webes alkalmazások alapjai 1

George Shepherd. 1. A webes alkalmazások alapjai 1 George Shepherd Köszönetnyilvánítás Bevezetés Az ASP.NET 2.0 fejlesztése A klasszikus ASP ASP.NET 1.0 és 1.1 ASP.NET 2.0 Néhány szó a.net-futtatórendszerről A könyv használatáról Kinek szól a könyv? A

Részletesebben

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

A szerzõrõl... xi Bevezetés... xiii TARTALOMJEGYZÉK A szerzõrõl...................................................... xi Bevezetés...................................................... xiii I. rész A Visual Basic 2005 környezet 1. óra Irány

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

Mi egy csapat vagyunk, az Olvasó és én

Mi egy csapat vagyunk, az Olvasó és én Ez a könyv nagyjából 2001 nyara óta létezik, ha nem is ebben a formában: a C# és a.net platform első kiadása ugyanis akkor jelent meg, a.net 1.0 Beta 2 verziójával karöltve. Nagy örömmel és hálával tölt

Részletesebben

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?

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? 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? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

JAVA PROGRAMOZÁS 2.ELŐADÁS

JAVA PROGRAMOZÁS 2.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,

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

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

Interfészek. PPT 2007/2008 tavasz.

Interfészek. PPT 2007/2008 tavasz. Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált

Részletesebben

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

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási

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 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén

Részletesebben

1. Az Android platform bemutatása (Ekler Péter)... 1 1.1. Az Android sikerességének okai... 1 1.2. Az Android platform története... 3 1.3. Android-verziók... 5 1.4. Android Market (Google Play)... 13 1.5.

Részletesebben

Generikus Típusok, Kollekciók

Generikus Típusok, Kollekciók Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections

Részletesebben

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?

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? Bevezetés 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 Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii

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

A szerzőkről... xiii A csapat... xiv Az Online Training Solutions, Inc. (OTSI)... xiv

A szerzőkről... xiii A csapat... xiv Az Online Training Solutions, Inc. (OTSI)... xiv A szerzőkről... xiii A csapat... xiv Az Online Training Solutions, Inc. (OTSI)... xiv A Windows 7 bemutatása...xv A Windows 7 kiadásai... xvi Minimális rendszerkövetelmények... xix Windows 7... xix A gyakorlatok...

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás

Részletesebben

BÉLYEGZŐK NYILVÁNTARTÁSA

BÉLYEGZŐK NYILVÁNTARTÁSA Szervezeti és Működési Szabályzatának BÉLYEGZŐK NYILVÁNTARTÁSA KÖRBÉLYEGZŐK (SZÁMOSAK) I. leírás: szabályos körben, 39 mm-es körkörös szegéllyel leírt kétsoros szöveg, középen az Egyházat szimbolizáló

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási

Részletesebben

Vizuális, eseményvezérelt programozás X. V 1.0

Vizuális, eseményvezérelt programozás X. V 1.0 Vizuális, eseményvezérelt programozás X. V 1.0 ÓE-NIK, 2011 1 Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,

Részletesebben

Programozás 2., I. kötet Az objektumorientált paradigma alapjai

Programozás 2., I. kötet Az objektumorientált paradigma alapjai TÁMOP-4.1.1.F-14/1/KONV-2015-0009 A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉS MODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSI TUDOMÁNYEGYETEMEN Achs Ágnes Szendrői Etelka Programozás 2., I. kötet Az objektumorientált

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

Java programozási nyelv 5. rész Osztályok III.

Java programozási nyelv 5. rész Osztályok III. Java programozási nyelv 5. rész Osztályok III. 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/20 Tartalomjegyzék

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

Foglalkozási napló a 20 /20. tanévre

Foglalkozási napló a 20 /20. tanévre Foglalkozási napló a 20 /20. tanévre Műszaki informatikus szakma gyakorlati oktatásához OKJ száma: 54 41 05 A napló vezetéséért felelős: A napló megnyitásának dátuma: A napló lezárásának dátuma: Tanulók

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

Az Európai Unió Hivatalos Lapja

Az Európai Unió Hivatalos Lapja 2003.9.23. HU 179 2. A SZEMÉLYEK SZABAD MOZGÁSA A. SZOCIÁLIS BIZTONSÁG 1. 31971 R 1408: A Tanács 1971. június 14-i 1408/71/EGK rendelete a szociális biztonsági rendszereknek a Közösségen belül mozgó munkavállalókra,

Részletesebben

C# mesteri szinten 21 nap alatt

C# mesteri szinten 21 nap alatt Tartalomjegyzék Elsõ hét 1. nap Ismerkedés a C#-tel Mi is az a C#?............................................... 4 A programozás elõkészületei................................... 4 A programfejlesztési

Részletesebben

Köszönetnyilvánítás... xv Bevezetés az otthoni hálózatok használatába... xvii. A könyv jellegzetességei és jelölései... xxi Segítségkérés...

Köszönetnyilvánítás... xv Bevezetés az otthoni hálózatok használatába... xvii. A könyv jellegzetességei és jelölései... xxi Segítségkérés... Köszönetnyilvánítás... xv Bevezetés az otthoni hálózatok használatába... xvii A könyvben szereplő operációs rendszerek...xviii Feltételezések...xviii Minimális rendszerkövetelmények... xix Windows 7...

Részletesebben

Globális operátor overloading

Globális operátor overloading Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal

Részletesebben

Ismerkedés az Office 2007 felhasználói felületével

Ismerkedés az Office 2007 felhasználói felületével Ismerkedés az Office 2007 felhasználói felületével A szalag kezelése Az új Fájl File menü A Gyorselérési eszköztár Az új nézetvezérlő elemek Összefoglalás Tudnivalók a Windows XP-t használó olvasók számára

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály

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

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

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

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás.   Szénási Sándor. Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök

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

Podoski Péter és Zabb László

Podoski Péter és Zabb László Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát

Részletesebben

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22 Unit Teszt Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 1 / 22 Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 2 / 22 Szoftvertesztelés

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

Tartalomjegyzék. Előszó... xiii Bevezetés... xv. 1. Ismerkedés a Windows 7-tel... 1. 2. Integráció a Windows 7 tálcájával: az alapszolgáltatások...

Tartalomjegyzék. Előszó... xiii Bevezetés... xv. 1. Ismerkedés a Windows 7-tel... 1. 2. Integráció a Windows 7 tálcájával: az alapszolgáltatások... Előszó... xiii Bevezetés... xv Kiknek szól a könyv?...xv Miről szól a könyv?...xvi Kiadás előtti szoftver...xvii További tartalom...xvii Hardver- és szoftverkövetelmények...xviii A könyv támogatása...xviii

Részletesebben

C# Zero.4 Introducing Visual C# 2.0

C# Zero.4 Introducing Visual C# 2.0 Session Code: N/A C# Zero.4 Introducing Visual C# 2.0 Fülöp Dávid MCT, MCPD david.fulop@live.com Témák Mik a problémák a nyelvvel? Hol segít a C# 2.0? Fejlesztett tulajdonságok Statikus és részleges osztályok

Részletesebben

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

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely

Részletesebben

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;

Részletesebben

1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11

1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11 Tartalomjegyzék 1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11 Géptől gépig... 11 Számok a gépeknek... 13 Nevek az embereknek... 14 Programok egymás

Részletesebben

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat

Részletesebben

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Programozási nyelvek II. JAVA EA+GY 1. gyakolat Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről

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

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

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016 Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:

Részletesebben

Tartalomjegyzék. Bevezetés. 1. A.NET 3.5-keretrendszer 1. A korszerű alkalmazások felépítésének kihívásai... 2

Tartalomjegyzék. Bevezetés. 1. A.NET 3.5-keretrendszer 1. A korszerű alkalmazások felépítésének kihívásai... 2 Bevezetés xv Mitől tartozik egy platform a következő generációhoz?... xvi Mennyire jelentős az egyre újabb.net-változatok közötti különbség?... xviii Mit jelentett a Windows Vista megjelenése a Microsoft.NET

Részletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

Eseményvezérelt alkalmazások fejlesztése II 1. előadás. A.NET keretrendszer és a C# programozási nyelv. A.NET keretrendszer Eredete

Eseményvezérelt alkalmazások fejlesztése II 1. előadás. A.NET keretrendszer és a C# programozási nyelv. A.NET keretrendszer Eredete Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 1. előadás és a C# programozási nyelv 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Programozás módszertan p.1/46

Programozás módszertan p.1/46 Programozás módszertan Öröklődés Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK MAGYAR TUDOMÁNYOS AKADÉMIA SZÁMÍTÁSTECHNIKAI ÉS

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

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület

Részletesebben

Interfészek. Programozás II. előadás. Szénási Sándor.

Interfészek. Programozás II. előadás.  Szénási Sándor. Interfészek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Polimorfizmus áttekintése Interfészek Interfészek alkalmazása

Részletesebben

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

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18 C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi

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

Munkalap2 Cím Év Évfolyam Szám Megjegyzés Bodenburg Zeitung 1887 XX Bunte Woche Nem teljes, Burgenländische Freiheit melléklete

Munkalap2 Cím Év Évfolyam Szám Megjegyzés Bodenburg Zeitung 1887 XX Bunte Woche Nem teljes, Burgenländische Freiheit melléklete Cím Év Évfolyam Szám Megjegyzés Bodenburg Zeitung 1887 XX. 1-298. Bunte Woche 1932-1934 Nem teljes, Burgenländische Freiheit melléklete Burgenländische Freiheit 1930-1931 Nem teljes Burgenländische Freiheit

Részletesebben

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1 A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található meg. A CD-melléklet használata Bevezetés xi xiii 1. Elméleti áttekintés 1 1.1. Adatmodellezés 3 1.2. Táblák, oszlopok és sorok

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

Nyári összevont szakmai gyakorlat témakörei és elemei informatika ágazat

Nyári összevont szakmai gyakorlat témakörei és elemei informatika ágazat Nyári összevont szakmai gyakorlat témakörei és elemei informatika ágazat 9. évfolyam után 70 óra 4.1.1. Számítógép összeszerelése 24 óra+35 óra ÖGY/24 óra+25 óra ÖGY Számítógép szétszerelése. Pontos konfigur{ció

Részletesebben

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*; Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely

Részletesebben

Apple Swift kurzus 3. gyakorlat

Apple Swift kurzus 3. gyakorlat Készítette: Jánki Zoltán Richárd Dátum: 2016.09.20. Apple Swift kurzus 3. gyakorlat Kollekciók: Tömb: - let array = [] - üres konstans tömb - var array = [] - üres változó tömb - var array = [String]()

Részletesebben

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozási nyelvek JAVA EA+GY 1. gyakolat Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program

Részletesebben

Bevezetés a Python programozási nyelvbe

Bevezetés a Python programozási nyelvbe Bevezetés a Python programozási nyelvbe 7. Gyakorlat osztályok, objektumok (utolsó módosítás 2018. aug. 28.) Szathmáry László Debreceni Egyetem Informatikai Kar 2018-2019, 1. félév OO programozás Pythonban

Részletesebben

A.NET Framework és programozása C# nyelven. Kedd 16-17 30 I104

A.NET Framework és programozása C# nyelven. Kedd 16-17 30 I104 A.NET Framework és programozása C# nyelven Kedd 16-17 30 I104 Feltételek I104 Visual Studio 2013 Letölthető http://msdn.mik.uni-pannon.hu oldalról Aki saját gépet hoz, annak javasolt a legújabb verzió

Részletesebben

Tartalomjegyzék. Bevezetés I. rész: Ismerkedés a C#-pal fejezet: Első konzolos C#-alkalmazásunk elkészítése... 13

Tartalomjegyzék. Bevezetés I. rész: Ismerkedés a C#-pal fejezet: Első konzolos C#-alkalmazásunk elkészítése... 13 02_191095 ftocp.qxp:layout 1 7/20/09 4:08 PM Page xi Bevezetés... 1 A C# 3.0 újításai... 2 A könyvről... 3 Amire a könyv használatához szükséged lesz... 3 A könyv használatáról... 4 A könyv felépítése...

Részletesebben

Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani

Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani Mi a legabsztraktabb típus a JAVA-ban? Object Mikor preferált interface-ek használata a konkrét típusok helyett? Ha egy osztály több interfacet is használhasson, vagy ha fvek implementálását a az osztályra

Részletesebben

Tartalomjegyzék. Előszó... 10

Tartalomjegyzék. Előszó... 10 Előszó... 10 1. Bevezetés a Symbian operációs rendszerbe... 11 1.1. Az operációs rendszer múltja...11 1.2. Az okos telefonok képességei...12 1.3. A Symbian felépítése...15 1.4. A könyv tartalma...17 2.

Részletesebben

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag C# osztálydeníció Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem.net C# technológiák tananyag objektum orientált programozás tananyag Tartalom 1 Bevezetés 2 Osztály létrehozása, deníció

Részletesebben

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

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus

Részletesebben

Objektumorientált Programozás VI.

Objektumorientált Programozás VI. Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő

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

A Java és a C++ összehasonlítása

A Java és a C++ összehasonlítása A Java és a C++ összehasonlítása Kozsik Tamás kto@elte.hu http://kto.web.elte.hu/ Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék 2008. Kozsik Tamás (ELTE) A Java és a C++

Részletesebben

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot

Részletesebben

Komponens alapú fejlesztés

Komponens alapú fejlesztés Komponens alapú fejlesztés Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:

Részletesebben

Metamodellezés. Simon Balázs BME IIT, 2011.

Metamodellezés. Simon Balázs BME IIT, 2011. Metamodellezés Simon Balázs BME IIT, 2011. Bevezetés Metamodellezés EMF & ecore Tartalom (C) Simon Balázs, BME IIT, 2011. 2 Hétfő: Simon Balázs Bevezetés hetente felváltva: előadás és gyakorlat metamodellezés

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

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

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1 Köszönetnyilvánítás Bevezetés Kinek szól a könyv? Elvárt előismeretek A könyv témája A könyv használata A megközelítés alapelvei Törekedjünk az egyszerűségre! Ne optimalizáljunk előre! Felhasználói interfészek

Részletesebben

Szoftvertechnológia alapjai Java előadások

Szoftvertechnológia alapjai Java előadások Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?

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

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon 1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (

Részletesebben

JAVA SE/ME tanfolyam tematika

JAVA SE/ME tanfolyam tematika JAVA SE/ME tanfolyam tematika TANFOLYAM TEMATIKA: A JAVA MEGISMERÉSE Java története, miért készült, miért népszerű NETBEANS környezet telepítése, megismerése Programozási alapok java nyelven Változók,primitív

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

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

Polgári eljárásjog I-II. Kommentár a gyakorlat számára - Harmadik kiadás (szerk. Petrik Ferenc) RÉSZ

Polgári eljárásjog I-II. Kommentár a gyakorlat számára - Harmadik kiadás (szerk. Petrik Ferenc) RÉSZ Polgári eljárásjog I-II. Kommentár a gyakorlat számára - Harmadik kiadás (szerk. Petrik Ferenc) RÉSZ ELSŐ RÉSZ ALAPVETÉSEK I. FEJEZET A TÖRVÉNY HATÁLYA ÉS AZ ALAPELVEK 1-6. SZERZŐ MÁSODIK RÉSZ ÁLTALÁNOS

Részletesebben

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus Eötvös Loránd Tudományegyetem Természettudományi Kar Alkalmazott Modul III 6. előadás Objektumorientált programozás: öröklődés és polimorfizmus 2011.10.24. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Az összefüggő nyári szakmai gyakorlati képzés tartalma és a szükséges eszközök listája

Az összefüggő nyári szakmai gyakorlati képzés tartalma és a szükséges eszközök listája Az összefüggő nyári szakmai gyakorlati képzés tartalma és a szükséges eszközök listája 9. évfolyam: Számítógép összeszerelése Számítógép szétszerelése. Pontos konfiguráció meghatározása, megfelelő alkatrészek

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek 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/23 Tartalomjegyzék

Részletesebben