Object Oriented Programming
A tantárgyleírás hatályossága
| Subject name (Hungarian, English) |
Objektum-orientált programozás
Object Oriented Programming
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIFO4179 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 5 | ||||||||||||
| Subject coordinator |
DR. Szirmay-Kalos László
position: egyetemi tanár
contact:
szirmay-kalos.laszlo@vik.bme.hu
|
||||||||||||
| Responsible department |
—
|
||||||||||||
| Faculty | |||||||||||||
| Subject website | — | ||||||||||||
| Primary curriculum type | — | ||||||||||||
| Direct prerequisites – Strong prerequisite | none | ||||||||||||
| Direct prerequisites – Weak prerequisite | none | ||||||||||||
| Direct prerequisites – Parallel prerequisite | none | ||||||||||||
| Direct prerequisites – Milestone prerequisite | none | ||||||||||||
| Direct prerequisites – Exclusion | none |
Objectives
1. C++ alapok
C++ nyelv nemobjektum orientált sajátosságai (referencia típus, kötelező prototípus, konstans, ki-, bevitel, dinamikus memória kezelés).
2. Objektum orientált programozás alapjai
Egységbe zárás megvalósítása C-ben. Class mint a struct továbbfejlesztése. Tagfüggvények (üzenetek) adatmezők használata, hozzáférés védelem (friend és családtagok). Interface és implementáció. "This" pointer jelentősége és realizációja. Constructor és Destructor. Példa: 2D vector osztály.
3. Összetett adatszerkezetek és operátor overload
Operátor overload fogalma és megvalósítása. Beépített típusok okozta nehézségek. Pl. vektor osztály. Konverziós operátorok átdefiniálása. Dinamikus adatszerkezeteket tartalmazó objektumok problémái (pl. intelligenes string). Egyenlőség operátor és Copy konstruktor szükségessége, használata. Objektum tömbök, objektumok, mint paraméterek, bonyolult aritmetikai kifejezések kiértékelése.
4. Öröklés
Öröklés koncepcionális és formális kifejezése és jelentôsége. Construktor és destructor működése. Pl. Ember- (tanár, diák), alakzat-(vonal, kör, téglalap). Öröklés implementációja cben. Virtuális függvények, mint lehetôsége, hogy a superclass-ban megírt függvénybôl a subclass függvényeit hívjuk.
4. Virtuális függvények
Heterogén kollekciók kialakítása virtuális függvényekkel. Virtuális függvények implementációja. Objektumok, melyek más objektumokat tartalmaznak. Tartalmazás versus öröklés. Láthatóság. Absztrakt alaposztályok, tisztán virtuális függvények.
6. Többszörös öröklés.
Virtuális bázisosztályok, inicializálás. Többszörös öröklés implementációja. Adat és pointer konverziók többszörös öröklés esetén.
7. Generikus osztályok és osztály könyvtárak
Generikus osztályok, mint a szoftver újrafelhasználás eszközei. Pl. generikus rendezett lista. Megvalósítás preprocesszorral. Megvalósítás template-vel. Generikus osztályok és objektumkönyvtárak kialakításának szempontjai. Intelligens adatszerkezetek. Virtuális destruktor.
8.-9. Objektum orientált analízis, tervezés és implementáció összekapcsolása
Feladat informális specifikációja. Objektum orientált analízis és tervezés. Class diagramok, objektum relációk, adatfolyam. Az üzenetek bottom-up és top-down (scenáriók) megközelítése. Objektumok kommunikációja. Láthatóság problémája. Objektumok tartalmazási és hivatkozási sémájának kialakítása. Tagfüggvények specifikálása. OO terv illesztése a nem OO környezethez, applikáció objektum. Osztályok interface deklarációja. Implementáció. A program elemzése, változtathatóság, karbantarthatóság, megérthetőség. Az újrafelhasználás szempontjai.
10. Real-time programok készítése.
Real-time kernel programozás. OOP program illesztése más nyelvekhez (Pl. C., assemly) és más filozófiájú környezetekhez.
11.-14. Felhasználó felületek programozásának alapjai.
MS-Windows, X-Window programozás.
Learning outcomes
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Knowledge
No learning outcomes recorded.
Skills
No learning outcomes recorded.
Attitudes
No learning outcomes recorded.
Autonomy and responsibility
No learning outcomes recorded.
Oktatási módszertan
Tanulástámogató anyagok
Not provided.
Recommended preliminary knowledge for completing the subject
General rules
Assessment methods
In-term assessments
No detailed assessments provided.
Weight of in-term assessments
No weights provided.
Exam-period assessments
No detailed assessments provided.
Weight of exam elements
No weights provided.
Grade calculation
No grade thresholds provided.
Attendance requirements
No attendance requirements provided.
Rules for retake and resubmission
Not provided.
Short description
Not provided.
Detailed description
Not provided.
Recommended courses
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.