Programozás I. gyakorlati tematika
Objektum orientáltság
- UML alapok (vizuális modellezés, jelölésrendszer, eszköz, modell, nézet, diagram)
- Objektumok – állapota, viselkedése, identitása, élete
- Osztály, csomag, osztálydiagram (asszociáció, aggregáció, öröklődés)
- Objektum interfésze, implementáció elrejtése
- Implementáció újrafelhasználása – kompozíció, aggregáció
- Interfész újrafelhasználása – öröklődés, polimorfizmus
A Java nyelv
- Primitív típusok
- Osztályok – új típusok létrehozása, mezők, metódusok, csomagok
- Generikus osztályok
- Fordítás és futtatás, virtuális gép, futtató környezet
- Megjegyzések, dokumentáció, kódolási stílus
- Programfutás vezérlés, operátorok, precedencia, vezérlési szerkezetek, tömbök
- Inicializálás és takarítás, konstruktor, szemétgyűjtés
- Újrafelhasználhatóság – kompozíció, aggregáció, öröklődés, implementáció elrejtése
- Operáció kiterjesztés és felüldefiniálás, polimorfizmus, kései kötés
- Végső adatok, metódusok és osztályok
- Absztrakt és interfész osztályok, “többszörös öröklődés”, belső osztályok
- Hibakezelés kivételekkel és futás közbeni típusazonosítás (RTTI)
- Osztálykönyvtárak (kollekciók, iterátorok, I/O rendszer, GUI)
Gyakorlat
- Gyakorlat anyaga elérhető - /pub/Programozas-I/nappali/gyakorlat
- 0. gyakorlat (febr. 06.-i hét): Követelmények ismertetése
- 1. gyakorlat (febr. 13.-i hét): (Követelmények még egyszer röviden) Első Java program írása, fordítása, futtatása, környezetek, dokumentációk megismerése
- Hello World! - /pub/Programozas-I/nappali/gyakorlat/01/HelloWorld.java, "Hello World!" for Microsoft Windows
- Common Problems (and Their Solutions)
- VM, bytecode, (About the Java TechnologyJava SE Technologies at a Glance, javap)
- 7.0 API 8.0 API (javadoc)
- Java telepítése otthon
- 2. gyakorlat (febr. 20.-i hét): UML és az osztálydiagram
- UML és az osztálydiagram - /pub/Programozas-I/nappali/gyakorlat/02/kabinet.jpg és feladat.txt
- ArgoUml, (argouml.bat javítása: java -cp argouml.jar org.argouml.application.Main %1 %2 %3 %4 %5 %6 %7 %8 )
- Egyéb eszközök: BOUML, VioletUML , Gliffy
- Practical UML, UML 2 Class Diagrams
- Wikipédia: UML, class diagram
- UML - Class diagram
- Példa: Kutya-Fej-Bolha, Kabinet Két lehetésges megoldás: első, második
- 3. gyakorlat (febr. 27.-i hét): Egyszerű típusok, operátorok, parancssori argumentumok
- FeladatThird.java
- Példák, feladatok: /pub/Programozas-I/nappali/gyakorlat/03/
- Egyszerű típusok (boolean, char, byte, short, int, long, float, double) és csomagoló osztályaik (Boolean, Character, Integer, Long, Float, Double) - Primitive Data Types - link
- Operátorok: hasonló a C/C++ operátoraihoz, de nincs * illetve & Új operátor: >>>, Summary of Operators, Java Operators Tutorial
- Parancssori argumentumok kezelése - Command-Line Arguments
- Java and C similarities, Learning the Java Language
- 4. gyakorlat (márc. 06.-i hét): Osztályok, tömbök, garbage collection
- Első kisdolgozat a gyakorlaton Mintadolgozat
- Teglalap - TesztTeglalap.java
- Példák, feladatok: /pub/Programozas-I/nappali/gyakorlat/04/ - Ember class diagram
- Kódolási stílus Oracle Code Conventions for the Java Programming Language, Java Programming Style Guide, Java Programming Style Guidelines
- Osztályok: létrehozás, attribútumok (adattag, mezők), operációk (tagfüggvény, metódus), overloading, láthatóság: public, konstruktor - inicializálás, objktumpéldány, referenciák, static/nem static mezők és metódusok, final mezők (Java 5.0 Enums, Enum Types) - Classes, Objects, More on Classes
- Tömbök - Arrays, Class Arrays
- Takarítás (finalize != destructor(nincs)), szemétgyűjtés gc, runFinalization) - Class System
- 5. gyakorlat (márc. 13.-i hét): Csomagok, öröklődés
- ProgI05.zip
- Példák, feladatok: /pub/Programozas-I/nappali/gyakorlat/05/ - Class diagram
- Eclipse fejlesztőkörnyezet használata
- Implementáció elrejtése: private - Oracle: Controlling Access to Members of a Class, Java access specifiers
- Csomagok: csomagba szervezés, fully qualified name, import, könyvtárhierarchia, java.lang autoimport, láthatóság: package private - Packages, (Static Import - "it can make your program unreadable and unmaintainable")
- Öröklődés: egyszeres!, method overriding, polimorfizmus, láthatóság: protected, final metódus és osztály - Inheritance, Inheritance & Polymorphism
- 6. gyakorlat (márc. 20.-i hét): Gyakorló óra
- feladat, osztálydiagram
- Feladatok: /pub/Programozas-I/nappali/gyakorlat/06/
- 1. ZH (márc. 27.-i hét) - Gyakorlat elmarad
- 7. gyakorlat (ápr. 03.-i hét): Abstract osztályok, interface-ek - ProgI07.zip
- Példák, feladatok: /pub/Programozas-I/nappali/gyakorlat/07/ - Fuggveny, Ital, Feladat
- Absztrakt osztályok: absztrakt metódusok - Abstract Methods and Classes
- Interface: megadásuk, implementálásuk, részleges implementálásuk (abstract), használatuk típusként - Interfaces
- 8. gyakorlat (ápr. 10.-i hét): Kivételkezelés, belső osztályok - ProgI08.zip
- Példák, feladatok: /pub/Programozas-I/nappali/gyakorlat/08/ - Class Diagram
- Kivételkezelés: Exceptions, Exception Summary Java Exceptions
- Belső osztályok: Nested Classes
- Kötelező program beküldési határidő: 2015.04.20 08:00
- Tavaszi szünet (ápr. 17.-i hét)
- 9. gyakorlat (ápr. 24.-i hét): Gyakorlás
- Második kisdolgozat a gyakorlaton Mintadolgozat
- Kötelező program beküldési határidő: 2017.04.24 08:00
- Második minta ZH
- feladat Alakzat példa program
- 10. gyakorlat (máj. 01.-i hét): Kötelező program védése
- 2. ZH (máj. 08.-i hét): Gyakorlat elmarad
- Javító/Pót ZH (máj. 15.-i hét): Gyakorlat elmarad