[[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