[[oktatas:programozás:feladatok:speciális| < Speciális]]
====== Objektum Orientált Programozási Feladatok ======
* **Szerző:** Sallai András
* Copyright (c) 2015, Sallai András
* Szerkesztve: 2015, 2021, 2022, 2023
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Osztályok létrehozása =====
==== Feladat 001 ====
Hozzon létre egy osztályt, amelyben **számítógépek** tulajdonságait tárolja.
A tulajdonságok között minimum a következők szerepeljenek:
* processzor órajele
* fizikai memória mérete
* merevlemez mérete
* merevlemez csatlakozása (PATA, SATA, SCSI)
* USB portok száma
* tápegység maximális fogyasztása
* PCIE 16 aljzat (van vagy nincs)
Hozzon létre metódusokat, amelyekkel beállíthatja, lekérdezheti a mezőket.
Készítsen konstruktort, amely kezdőértéket ad minden mezőnek.
==== Feladat 002 ====
Készítsen egy osztályt, amelyben **könyvek** adatait tartja nyilván.
A tulajdonságok között minimum a következők szerepeljenek:
* szerző
* cím
* kiadás éve
* kiadó neve
* ISBN
Hozzon létre metódusokat, amelyekkel beállíthatja, lekérdezheti a mezőket. Készítsen konstruktort, amely kezdőértéket ad minden mezőnek.
==== Feladat 003 ====
Készítsen egy osztályt, amelyben **dolgozók** adatait tartja nyilván.
A tulajdonságok között minimum a következők szerepeljenek:
* név
* beosztás
* település (lakcím)
* cím (lakcím)
* telefon
* alapbér
Hozzon létre metódusokat, amelyekkel beállíthatja, lekérdezheti a mezőket. Készítsen konstruktort, amely kezdőértéket ad minden mezőnek.
==== Feladat 004 ====
Készítsen egy osztályt, amelyben **tanulók** adatait tartja nyilván.
A tulajdonságok között minimum a következők szerepeljenek:
* név
* osztály
* település (lakcím)
* cím (lakcím)
* telefon
* bukás (van, vagy nincs)
Hozzon létre metódusokat, amelyekkel beállíthatja, lekérdezheti a mezőket. Készítsen konstruktort, amely kezdőértéket ad minden mezőnek.
==== Feladat 005 ====
Készítsen egy osztályt, amelyben egy utazási irodában egy **utazás** adatait tartja nyilván.
A tulajdonságok között minimum a következők szerepeljenek:
* név
* település (lakcím)
* cím (lakcím)
* telefon
* célország
* céltelepülés
* célszálloda
* utazás kezdete
* utazás vége
* kérnek-e biztosítást?
Hozzon létre metódusokat, amelyekkel beállíthatja, lekérdezheti a mezőket. Készítsen konstruktort, amely kezdőértéket ad minden mezőnek.
==== Feladat 006 ====
Készítsen egy osztályt, amelyben egy játék **játékosának** adatait tárolja.
A tulajdonságok között minimum a következők szerepeljenek:
* név
* élet
* egészség
* helyzet
Hozzon létre metódusokat, amelyekkel beállíthatja, lekérdezheti a mezőket. Készítsen konstruktort, amely kezdőértéket ad minden mezőnek.
===== Származtatás =====
==== Feladat 051 ====
A Forma Bt. számára egy programot kell írnia, ahol tárolja a dolgozók adatait.
Egy dolgozóról tárolni kell a nevét, azonosítóját, születési idejét,
besorolási bérét, települést, ahol lakik, a cégbe való belépés idejét.
Származtatással hozzon létre egy dolgozók adatait tartalmazó osztályból
egy újabb osztályt, amely irodai dolgozók adatait tartalmazza.
Az irodai dolgozókról két adattal többet tárolni, az egyik a diploma
azonosítója, a másik, hogy tud-e gépelni tíz ujjal.
A feladat során tetszőleges osztály és adattag neveket használhat.
A feladatot végeredménye egy UML ábra legyen, amelyből
beadni egy PNG fájlt kell.
Mentés: formabt.png
===== Adatok listába =====
==== Feladat 101 ====
A terdabt.txt dolgozók adatait tartalmazza.
Töltse le az alábbi fájlt:
Kovács József:Hatvan:Ősz u.4:780000:1986-05-7:2000-06-4
Kis Géza:Nyíregyháza:Ősz u.115:360000:1985-10-6:2002-03-10
Kiss József:Hatvan:Nyár u.56:450000:1981-04-1:2002-07-7
Nagy Gábor:Nyíregyháza:Nyár u.15:700000:1960-09-9:1999-04-6
Szalai József:Nyíregyháza:Erdős u.21:410000:1982-09-12:1996-09-12
* Készítsen osztályt, amelyben tárolni képes egy sort.
* Készítsen tömböt vagy listát, amelyben több ilyen sor dolgozó is tárolható.
==== Feladat 102 ====
A pandora.txt dolgozók adatait tartalmazza.
Töltse le az alábbi fájlt:
név:település:cím:fizetés:születés
Illés József:Miskolc:Erdős u.94:1780000:1989-08-27
Vitéz Géza:Miskolc:Tihamér u.15:1040000:1978-03-20
Bogdán Károly:Miskolc:Tél u.81:1610000:1976-07-19
Róka Béla:Miskolc:Tavasz u.82:1510000:1953-05-1
Kiss Károly:Nyíregyháza:Kossuth u.66:1360000:1971-01-19
Erdős Tamás:Miskolc:Ősz u.49:1460000:1967-06-8
Veres Béla:Miskolc:Nyár u.94:1270000:1985-03-4
Erős Lajos:Budapest:Nyár u.6:1330000:1978-11-14
* Készítsen osztályt, amelyben tárolni képes egy sort.
* Készítsen tömböt vagy listát, amelyben több ilyen sor dolgozó is tárolható.
==== Feladat 103 ====
A aranybt.txt dolgozók adatait tartalmazza.
Töltse le az alábbi fájlt:
név:település:cím:fizetés:születés
Gyenge Zoltán:Nyíregyháza:Tihamér u.25:1520000:1962-02-5
Pintér Tamás:Hatvan:Erdős u.75:1490000:1983-06-27
Kis Lajos:Hatvan:Szállás u.47:1640000:1971-05-11
Varga Tamás:Miskolc:Tél u.112:1230000:1954-06-16
Pintér József:Miskolc:Tihamér u.31:1730000:1967-07-9
* Készítsen osztályt, amelyben tárolni képes egy sort.
* Készítsen tömböt vagy listát, amelyben több ilyen sor dolgozó is tárolható.
==== Feladat 104 ====
A piramid.txt dolgozók adatait tartalmazza.
Töltse le az alábbi fájlt:
név:település:cím:fizetés:születés
Rigó Tamás:Szeged:Szállás u.98:1560000:1953-02-1
Fekete Dániel:Szolnok:Tavasz u.3:1570000:1981-08-9
Erdős Zoltán:Budapest:Nyár u.19:1430000:1967-01-27
Almási György:Szeged:Tihamér u.15:1570000:1971-10-3
Fehér László:Hatvan:Erdős u.10:1460000:1960-03-10
* Készítsen osztályt, amelyben tárolni képes egy sort.
* Készítsen tömböt vagy listát, amelyben több ilyen sor dolgozó is tárolható.
==== Feladat 105 ====
A tenkes.txt dolgozók adatait tartalmazza.
Töltse le az alábbi fájlt:
név:település:cím:fizetés:születés
Varga Tamás:Szolnok:Kossuth u.18:1110000:1968-02-18
Almási György:Szolnok:Tél u.16:1120000:1957-06-19
Rigó Géza:Győr:Szállás u.60:1620000:1971-01-4
Rigó György:Győr:Tavasz u.37:1150000:1961-06-13
Budai Zoltán:Nyíregyháza:Erdős u.111:1470000:1964-08-7
* Készítsen osztályt, amelyben tárolni képes egy sort.
* Készítsen tömböt vagy listát, amelyben több ilyen sor dolgozó is tárolható.
==== Feladat 106 ====
A parkbt.txt dolgozók adatait tartalmazza.
Töltse le az alábbi fájlt:
Szalai Károly:Budapest:Szállás u.9:1410000:1962-05-23
Kis Károly:Budapest:Erdős u.45:1660000:1970-11-13
Bogdán Ferenc:Hatvan:Ősz u.13:1390000:1985-06-26
Fényes Dániel:Győr:Ősz u.41:1220000:1983-04-16
Fehér Zoltán:Hatvan:Erdős u.14:1100000:1964-09-27
Erdős Dániel:Miskolc:Erdős u.65:1290000:1956-07-9
Pintér Béla:Budapest:Szállás u.119:1110000:1953-02-8
Veres Ferenc:Budapest:Kossuth u.85:1320000:1966-02-25
Illés József:Nyíregyháza:Szállás u.19:1540000:1960-04-7
Illés Béla:Szeged:Nyár u.112:1350000:1988-04-15
Erdős Géza:Szolnok:Tihamér u.39:1520000:1952-03-2
Takács Tamás:Budapest:Erdős u.35:1530000:1985-05-6
Mészáros Károly:Nyíregyháza:Ősz u.110:1100000:1952-05-1
Fekete László:Szolnok:Szállás u.20:1240000:1988-05-4
Bodnár Tibor:Budapest:Tihamér u.77:1480000:1972-04-13
Illés Ferenc:Szeged:Nyár u.36:1540000:1966-10-1
Horváth Zoltán:Szeged:Tél u.119:1580000:1980-08-16
Kis László:Szolnok:Szállás u.96:1730000:1970-07-3
Veres Lajos:Szeged:Kossuth u.30:1120000:1982-05-20
Takács Lajos:Budapest:Szállás u.97:1200000:1976-09-23
Mészáros László:Budapest:Ősz u.62:1750000:1961-04-25
Erdős Károly:Nyíregyháza:Tavasz u.32:1400000:1958-08-25
Bíró Ferenc:Budapest:Tél u.114:1180000:1968-07-23
Almási György:Szolnok:Nyár u.31:1110000:1953-09-26
Nagy György:Miskolc:Tihamér u.80:1490000:1972-05-7
Bogdán Károly:Győr:Erdős u.101:1490000:1972-05-18
Szalai Dániel:Hatvan:Erdős u.99:1490000:1970-10-25
Fehér Lajos:Budapest:Tavasz u.91:1430000:1983-07-16
Mészáros Ferenc:Nyíregyháza:Ősz u.16:1120000:1966-05-9
Bogdán Béla:Nyíregyháza:Szállás u.107:1750000:1987-02-6
Kis Gábor:Győr:Szállás u.112:1560000:1961-01-14
Bíró Lajos:Nyíregyháza:Szállás u.1:1240000:1985-08-3
Varga Zoltán:Győr:Tihamér u.84:1540000:1959-08-2
Erdős Gábor:Miskolc:Tihamér u.84:1570000:1956-05-4
Vitéz Ferenc:Budapest:Tél u.107:1430000:1968-08-17
Fehér Géza:Hatvan:Erdős u.27:1120000:1969-11-8
Fényes Lajos:Hatvan:Tihamér u.2:1660000:1966-02-6
* Készítsen osztályt, amelyben tárolni képes egy sort.
* Készítsen tömböt vagy listát, amelyben több ilyen sor dolgozó is tárolható.
===== Szabadon =====
==== Feladat 201 ====
* Készítsen osztályt, ami egy vermet valósít meg.
* Legyen egy push() metódus, amivel egy értéket tárolhatunk a verem tetején.
* Legyen egy pop() metódus, ami törli az utolsó elemet a verem tetejéről és visszaadja a törölt elem értékét.
Mentés: vermezes
==== Feladat 202 ====
* Készítsen osztályt, ami egy sort valósít meg.
* Legyen egy push() metódus, amivel egy értéket tárolhatunk a sor végén.
* Legyen egy first() metódus, ami törli a sor első elemét és visszaadja az értékét.
Mentés: sorozas
===== Interfész =====
==== Feladat 251 ====
Egy állatszimulátort kell írnia. A szimulátor program, például egy
kutya esetén hangadásként kiírja, hogy "Vau, vau".
Írjon interfészt, amely előírja a hangadást egy állat számára.
* hangadás - voice
Írjon osztályt, amely megvalósítja az interfészt.
Mentés: alltifesz
==== Feladat 252 ====
Egy dolgozó szimulátort kell írnia. A dolgozó munkavégzés
közben az "m" betűt, vagy a "munka" szót írja a képernyőre.
Pihenés közben a "p" betűt, vagy a pihenés szót írja a képernyőre.
Készítsen interfészt, amely előírja egy dolgozó számára,
hogy milyen tevékenységeket kell elvégeznie. Legyen két
tevékenység:
* munkavégzés - working
* pihenés - rest
Készítsen osztályt, ami megvalósítja az interfészt.
Mentés: dolgifesz
==== Feladat 253 ====
Egy névnyilvántartó program kisebb részét kell megírnia, ami
egy listából olvas adatokat.
Készítsen interfészt, ami előírja az összes adat visszaadását.
* getNames
Írjon osztályt, ami megvalósítja az interfészt.
A nevek, amiket vissza kell adni, tömbben:
String[] nevek = {"Béla", "Géza"};
Az App osztályban írassa ki az összes elemet.
Mentés: namifesz
==== Feladat 254 ====
Egy rendszámnyilvántartó program kisebb részét kell megírnia, ami
egy listából olvas adatokat.
Készítsen interfészt, ami előírja az összes adat visszaadását.
* getPlates
Amit vissza kell adni egy ArrayList.
Írjon osztályt, ami megvalósítja az interfészt.
A nevek, amiket vissza kell adni, tömbben:
String[] rendszamok = {"AA-AD-344", "AA-AC-138"};
Az App osztályban írassa ki az összes elemet.
Mentés: rendifesz
==== Feladat 255 ====
Egy nyilvántartó program kisebb részét kell megvalósítania,
ami gyümölcsneveket tart nyilván.
Írjon interfészt ami előírja az össze elem visszaadását,
és egy megadott elem visszaadását.
* getFruits
* getFruit
Amit vissza kell adni egy ArrayList a getFruits esetén, és egy String
a getFruit esetén.
Készítsen osztályt, ami megvalósítja az interfészt.
String[] gyumolcsok = {"alma", "körte"};
Mutassa be a működést.
Mentés: gyumifesz
==== Feladat 256 ====
Egy gépjármű szimulátor kisebb részét kell megírnia.
A szimulátor "r" betűket ír a képernyőre haladás közben,
állóhelyzetben pedig egy "s" betűt ír ki.
Írjon interfészt, ami előírja a egy jármű számára a haladást
és az állóhelyzet jelzését.
* haladás - progress
* álló jármű - stationary
Készítsen osztályt, ami megvalósítja az interfészt.
Mutassa be a működést.
Mentés: jarszifesz
===== UML =====
==== 301 ====
Készítse el azt a programot, amely megvalósítja a következő osztályokat:
{{:oktatas:programozas:feladatok:specialis:product_uml_01.png?400|}}
Mentés: prodi