Programozási nyelvek és környezetek.
egyetemi jegyzet
Tartalomjegyzék
1. PROGRAMOZÁSI NYELVEK
1.1. A hardver és a szoftver kapcsolata
1.1.1. Számítógépek
1.1.2. A programvégrehajtás menete
1.2. Programozási paradigmák, nyelvtípusok
1.2.1. Programozási nyelvek osztályozása generációk szerint
1.2.2. Programozási nyelvek osztályozása paradigmák szerint
1.2.3. Programozási nyelvek osztályozása gépfüffetlenség szerint
1.2.4. Programozási nyelvek osztályozása a nyelv által megoldandó probléma szerint
1.2.5. Programozási nyelvek osztályozása az absztrakciós szint szerint
teljes tartalomjegyzék...
1.2.6. Programozási nyelvek
1.3. Programozási nyelvek elemei
1.3.1. Karakterkészlet
1.3.2. Lexikális egységek
1.3.3. Adattípusok
1.3.4. Kifejezések
1.3.5. Utasítások
1.3.6. A programok szerkezete
1.3.7. Implementációhoz fűződő kérdések
1.4. Formális nyelvek
1.4.1. A formális nyelvek története
1.4.2. Alapfogalmak
1.4.3. Műveletek nyelvekkel
1.4.4. Generatív nyelvtanok
1.4.5. A Chomsky-féle nyelvosztályok
1.4.6. Nyelvek és automaták
1.5. Fordítóprogramok
1.5.1. Lexikális atomok
1.5.2. Szintaktika
1.5.3. Szemantika
1.5.4. A fordításról
2. AZ OBJEKTUMORIENTÁLT PARADIGMA
2.1. Dekompozíció és absztrakció
2.1.1. Algoritmikus dekompozíció
2.1.2. Objektumorientált dekompozíció
2.2. Az objektumorientálság fogalma
2.2.1. Az osztály fogalma
2.2.2. Az objektum fogalma
2.3. Osztályok és objektumok közötti kapcsolatok
2.3.1. Asszociáció vagy társítás
2.3.1.1. Az objektumok szerepének a jelölése
2.3.1.2. A reláció tulajdonságainak megadása
2.3.1.3. A relációk minősítése
2.3.1.4. Több osztály között fennálló asszociáció
2.3.1.5. Reflexivitás
2.3.2. Vagy kapcsolat
2.3.3. Aggregáció
2.3.4. Kompozíció
2.3.5. Öröklődés (specializáció és általánosítás)
2.3.5.1. Többszörös specializáció
2.3.5.2. Többszörös általánosítás
2.4. Az interfész fogalma
2.5. Függőség osztályok között
3. OBJEKTUMORIENTÁLT PROGRAMOZÁS
3.1. A .NET-ről
3.1.1. A .NET alapelvei
3.1.2. A .NET architektúra
3.1.2.1. Common Language Runtime (CLR)
3.1.2.2. Common Type System (CTS) és a Common Language Specification (CLS)
3.1.2.3. NET osztály(könyv)tárak, névterek és osztályok
3.1.2.4. Assembly, megadata, manifest
3.2. Objektumorientált programozás Visual C++-ban
3.2.1. Végrehajtható program készítése Visual C++-ban
3.2.1.1. Projekt készítése
3.2.1.2. C++ forrásállomány hozzáadása egy projekthez
3.2.1.3. A végrehajtható állomány létrehozása és futtatása
3.2.2. Újdonságok a C++ nyelv szintaxisában
3.2.2.1. Egysoros megjegyzés
3.2.2.2. A definíció mint utasítás
3.2.2.3. Referencia típusú változók
3.2.2.4. Felsorolás, struktúra vagy unió típusú változók deklarálása
3.2.2.5. Név nélküli unió használata
3.2.2.6. Típuskonverzió
3.2.2.7. Dinamikus memóriakezelés
3.2.2.8. Újabb alaptípusok
3.2.2.9. Cím szerinti paraméterátadás
3.2.2.10. Alapértelmezés szerinti paraméterértékek
3.2.2.11. A függvény visszaadott értéke
3.2.2.12. Inline függvények
3.2.3. Névterek (namespace)
3.2.4. Osztályok
3.2.4.1. Az osztály tagjainak láthatósága
3.2.4.2. A konstruktor
3.2.4.3. A destruktor
3.2.4.4. Objektumok deklarálása
3.2.4.5. Metódusok aktivizálása
3.2.4.6. A this mutató
3.2.4.7. Az objektumok életciklusa
3.2.4.8. Dinamikus objektumok létrehozása
3.2.4.9. Dinamikus objektumok megszüntetése
3.2.4.10. Osztályok implementálása Visual C++ .NET-ben
3.2.4.11. Beágyazott osztályok és típusok
3.2.4.12. Statikus tagok
3.2.4.13. Konstans tagfüggvények és a mutable típusminősítő
3.2.4.14. Mutató egy osztály tagjára
3.2.4.15. Tagobjektumok
3.2.5. Az osztályokhoz hasonló struktúrák
3.2.5.1. Felsorolások
3.2.5.2. Struktúrák
3.2.5.3. Unionok
3.2.5.4. Különbségek a C és a Visual C++ struct és union között
3.2.6. Operátorok túlterhelése
3.2.6.1. Általános szabályok az operátorok túlterhelésére
3.2.6.2. Kétoperandusú operátorok túlterhelésére
3.2.6.3. Egyoperandusú operátorok túlterhelésére
3.2.6.4. Az értékadási operátor túlterhelésére
3.2.6.5. Összetett operátorok túlterhelésére
3.2.6.6. Az iterációs operátor túlterhelésére
3.2.6.7. A tömbelem operátor túlterhelésére
3.2.6.8. A new és a delete operátorok túlterhelésére
3.2.6.9. Konverziós operátorok túlterhelésére
3.2.7. Barát osztályok és metódusok
3.2.7.1. Barát osztályok
3.2.7.2. Barát függvények
3.2.8. Az öröklődés
3.2.9. Többalakúság
3.2.10. Virtuális metódusok és absztrakt osztályok
3.2.10.1. Virtuális metódusok
3.2.10.2. Újrafelhasználhatóság és a virtuális metódusok
3.2.10.3. Tiszta virtuális metódusok és az absztrakt osztályok
3.2.10.4. A virtuális öröklődés
3.2.10.5. A konstruktor láthatatlan feladatai
3.2.10.6. A destruktor láthatatlan feladatai
3.2.10.7. Virtuális destruktor
3.2.11. Mutatták típuskonverziója öröklődés esetén
3.2.12. Kivételkezelés
3.2.12.1. Kivétel kiválasztása
3.2.12.2. Kivétel kezelése
3.2.12.3. Kivétel specifikálása
3.2.12.4. Speciális függvények a kivételezés támogatására
3.2.13. Visual C++ I/O könyvtárak
3.2.13.1. Állománykezelés
3.2.13.2. A <<és>> operátorok
3.2.13.3. A <<és>> operátorok túlterhelése
3.2.14. Sablonok
3.2.14.1. A template utasítás
3.2.14.2. Sablon osztályok létrehozásának szabályai
3.2.14.3. Smart mutatók
3.2.15. Az STL (Standard Template Library)
3.2.15.1. Az iterátorok
3.2.15.2. Az iostriam template
3.2.15.3. A vector template
3.2.15.4. A deque template
3.2.15.5. A list template
3.2.15.6. A stack, queue templatek
3.2.15.7. A priority_queue template
3.2.15.8. A vörös-fekete fák (a map template)
3.2.15.9. Algoritmusok
3.2.16. Generikus adatszerkezet
3.2.16.1. Generikus szerkezetek megvalósítása előfordítóval (preprocessor)
3.2.16.2. Generikus szerkezetek megvalósítása sablonokkal
3.2.17. Eseményvezérelt programozás
3.2.18. Alkalmazások fejlesztése Microsoft Visual C++ .NET alatt
3.2.18.1. .NET bővítések
3.2.18.2. Managed és unmanaged kód keverése
3.2.18.3. Osztályok managed C++-ban
3.2.18.4. Zárt osztályok definiálása
3.2.18.5. Öröklődés managed C++-ban
3.2.18.6. Absztrakt osztályok
3.2.18.7. Képviselők
3.2.18.8. Tulajdonságok
3.2.18.9. Mutatók
3.2.18.10. További nyelvi eszközök
Kapcsolódó termékek