BME MOGI Gépészeti informatika 8.

Hasonló dokumentumok
OOP: Java 8.Gy: Gyakorlás

BME MOGI Gépészeti informatika 7.

BME MOGI Gépészeti informatika 6.

BME MOGI Gépészeti informatika 4.

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

7. K: JAVA alapok Konzultáció

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Kalapácsvetés 2016 szöveges

OOP: Java 8.Gy: Abstract osztályok, interfészek

Osztályok. 4. gyakorlat

BME MOGI Gépészeti informatika 1.

BME MOGI Gépészeti informatika 5.

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

Vizuális programozás Komplex számok

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Java programozási nyelv 4. rész Osztályok II.

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Programozás I. Objektum-orientált programozás Stringműveletek V 1.0 ÓE-NIK-AII,

Objektumorientált programozás C# nyelven

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

BME MOGI Gépészeti informatika 13.

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

Java és web programozás

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

C# osztályok. Krizsán Zoltán

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Öröklés és Polimorfizmus

Bánsághi Anna

Abstract osztályok és interface-ek. 7-dik gyakorlat

osztályok kapcsolata Származtatatás C++ Izsó Tamás március 19. Izsó Tamás Származtatatás/ 1

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Szoftvertechnolo gia gyakorlat

Java és web programozás

Objektumorientált programozás C# nyelven

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Java és web programozás

JAVA PROGRAMOZÁS 2.ELŐADÁS

Java IX. telkezelés a Java-ban

Elemi Alkalmazások Fejlesztése II.

Java IX. telkezelés a Java-ban

Programozás I. Első ZH segédlet

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

Objektumorientált programozás IX. Osztályok, objektumok

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

Osztály és objektum fogalma

Programozás II gyakorlat. 4. Öröklődés

Java programozási nyelv 6. rész Java a gyakorlatban

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

OOP #14 (referencia-elv)

OOP: Java 4.Gy: Java osztályok

Informatika terméktervezőknek

Osztálytervezés és implementációs ajánlások

4. Gy: JAVA osztályok

3. Osztályok II. Programozás II

Osztálytervezés és implementációs ajánlások

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

500. CC Megoldó Alfréd CC 500.

Web-technológia PHP-vel

OOP: Java 7.Gy: Öröklődés, referenciák

Eseménykezelés - Lottó játék

Objektumorientált programozás C# nyelven III.

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

C#, OOP. Osztályok tervezése C#-ban

Események C#-ban Krizsán Zoltán iit

Programozás II. labor

Objektumorientált programozás C# nyelven

500. AA Megoldó Alfréd AA 500.

Osztályok, objektumok

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:

Programozási nyelvek Java

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok

Programozási nyelvek Java

Objektumorientált Programozás VI.

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Objektum orientált programozás (Object Oriented Programming = OOP)

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Programozási nyelvek II. JAVA

Pénzügyi algoritmusok

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

Programozási alapismeretek 4.

Programozási nyelvek II.: JAVA, 4. gyakorlat

Programozási nyelvek II.: JAVA, 3. gyakorlat

OOP: Java 5.Gy: Osztály, referencia, konstruktor

Programozás II. 4. Dr. Iványi Péter

Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat

Szoftvertechnológia alapjai Java előadások

OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Átírás:

BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező o string név o int Munkaóra egy hónapban ledolgozott órák száma o int Órabér o egy sztring és két egész típusú paraméterrel rendelkező konstruktor, melyekkel a mezők inicializálásra kerülnek; a mezők alapértelmezett értékei az üres sztring és nulla. elérési metódusok get és set metódusok a mezőre. virtuális metódus o Fizetés paramétere nincs, a visszaadott hosszú egész típusú érték a munkaóra és az órabér szorzataként kiszámított fizetés, o Megjelenít paramétere nincs, a beosztott nevét, ledolgozott munkaóráit, órabérét és fizetését adja vissza formázott sztringként. Vezető osztály, mely a Beosztott osztályból származik: o long Alap havi fizetés o long Prémium az egy hónapban kapott prémium o egy sztring és két hosszú egész típusú paraméterrel rendelkező konstruktor, melyekkel a mezők inicializálásra kerülnek; a munkaóra és az órabér nulla értékkel kerüljön inicializálásra; a mezők alapértelmezett értékei az üres sztring és a nulla. virtuális metódusokat lecserélő metódusok o Fizetés paramétere nincs, a visszaadott hosszú egész típusú érték az alapfizetés és prémium összegeként kiszámított fizetés, o Megjelenít paramétere nincs, a beosztott nevét, ledolgozott munkaóráit, órabérét, alapfizetését, prémiumát és a fizetését adja vissza formázott sztringként. A főprogramban az adatok beolvasásával vagy konstans adatokkal hozzon létre legalább egy vezető és két beosztott objektumpéldányt, majd írassa ki a képernyőre az adataikat! Megoldási mód: konzolalkalmazás Oktatási cél: öröklés és polimofizmus bemutatása 1

A fenti osztályok osztálydiagramja: A programkód: static void Main(string[] args) Vezető v1 = new Vezető("Kovács Tamás", 750000, 2500000); Console.WriteLine("A fönök adatai: \n" + v1.megjelenít()); Beosztott d1 = new Beosztott(); d1.setnév("nagy Balázs"); d1.munkaóra = 201; d1.órabér = 1570; Beosztott d2 = new Beosztott("Kiss Anna", 176, 1250); Console.WriteLine("\nA beosztottak adatai: "); Console.WriteLine(d1.Megjelenít()); Console.WriteLine(d2.Megjelenít()); Console.ReadLine(); class Beosztott // protected mező a származtatott osztályból látható, de kívülről nem protected string név; public int Munkaóra set; get; // tulajdonság public int Órabér set; get; // tulajdonság // konstruktorok public Beosztott(string név = "", int munkaóra = 0, int órabér = 0) this.név = név; Munkaóra = munkaóra; Órabér = órabér; 2

// elérési metódusok public string getnév() return név; public void setnév(string érték) név = érték; // virtuális metódusok virtual public long Fizetés() return Munkaóra * Órabér; virtual public string Megjelenít() return String.Format("0,-15 1,10 2,10 3,12 ", név, Munkaóra, Órabér, Fizetés()); class Vezető : Beosztott private long Alap get; set; private long Prémium get; set; // konstruktor public Vezető(string név, long alap, long prémium) : base(név, 0, 0) Alap = alap; Prémium = prémium; // a virtuális metódusokat lecserélő metódusok override public long Fizetés() return Alap + Prémium; override public string Megjelenít() return String.Format("0,-15 1,10 2,10 3,10 4,12 5,12", név, Munkaóra, Órabér, Alap, Prémium, Fizetés()); 3

Gyakorló feladatok - öröklés 1. Készítsen konzolalkalmazást egy évfolyamra vonatkozó adatok kezelésére! A feladat megoldásához hozza létre a következő struktúrát és osztályokat! Eredmény osztály o string Neptunkód o int Jegy o egy sztring és egy egész típusú paraméterrel rendelkező konstruktor, ami inicializálja a tulajdonságokat. metódus o Megjelenít paramétere nincs, a neptun kódot és a jegyet adja vissza formázott sztringként. Azonosító osztály: o string Neptunkód o string Név o két sztring paraméterrel rendelkező konstruktor, melyekkel a tulajdonságok inicializálásra kerülnek; a tulajdonságok alapértelmezett értékei az üres sztringek. virtuális metódus o Megjelenít paramétere nincs, a neptunkódot és a nevet adja vissza formázott sztringként. Tantárgy osztály, ami az Azonosító osztályból származik: o int Óraszám o int Kredit o két sztring és két egész típusú paraméterrel rendelkező konstruktor, melyekkel a tulajdonságok inicializálásra kerülnek; a mezők alapértelmezett értékei az üres sztringek és nullák. virtuális metódust lecserélő metódus o Megjelenít paramétere nincs, a tárgy nevét, neptunkódját, óraszámát, kreditértékét adja vissza formázott sztringként. A sztring létrehozásakor használja az alaposztály hasonló metódusát! Hallgató osztály, ami az Azonosító osztályból származik: tulajdonság o long Ösztöndíj o List<Eredmény> Tárgyai o Tantárgyak FelvethetőTárgyak o két sztring és egy hosszú egész típusú paraméterrel rendelkező konstruktor, melyekkel a mezők inicializálásra kerülnek; a mezők alapértelmezett értékei az üres sztring és nulla; a konstruktor hozza létre a Tárgyai listát is. Ezen kívül a konstruktor elkészíti a 4

Tantárgyak osztály FelvethetőTárgyak objektumát, amelyből a tárgyakat kiválaszthatjuk. metódusok o TárgyatFelvesz paramétere tárgy Neptun kódját tartalmazó sztring és egy egész típusú jegy adat, visszaadott értéke nincs, létrehoz a paraméterekkel egy Eredmény objektumot, és azt hozzáadja a Tárgyai listához, o TárgyatKeres - paramétere tárgy Neptun kódját tartalmazó sztring, és visszaadja az Eredmény típusú objektumot, ami jelzi, ha a tárgyat felvette a hallgató, ellenkező esetben null a visszatérési érték. o TárgyatTöröl - paramétere egy sztring, visszaadott értéke nincs, a Tárgyai listából törli a Neptun kód sztringgel azonosított elemet, o ÖsszesÓraszám paramétere nincs a visszaadott egész érték a tárgyai listában szereplő Neptun kódú tantárgyak óraszámainak összege. o ÖsszesKredit paramétere nincs a visszaadott egész érték a tárgyai listában szereplő Neptun kódú tantárgyak kreditjeinek összege. o SúlyozottÁtlag paramétere nincs a visszaadott egész érték a tárgyai listában szereplő Neptun kódú tantárgyak kreditjeinek és eredményeinek súlyozott átlaga. o virtuális metódus o Megjelenít paramétere nincs, a nevet és a neptunkódot, valamint a tárgyai listában szereplő tantárgyak adatait formázottan tartalmazó listát ad vissza sztringként. Tantárgyak osztály: private adatmező o List<Tantárgy> tárgyak o paraméter nélküli konstruktor, mely létrehozza a tárgyak listát, és feltölti értékekkel. metódusok o GetTárgynév paramétere a tárgy Neptun kódját tartalmazó sztring, és visszaadja a kódhoz tartozó tárgynevet (string), vagy üres stringet, ha nincs ilyen tárgy. o GetÓraszám paramétere a tárgy Neptun kódját tartalmazó sztring, és visszaadja a kódhoz tartozó óraszámot (int), vagy nullát, ha nincs ilyen tárgy. o GetKredit paramétere a tárgy Neptun kódját tartalmazó sztring, és visszaadja a kódhoz tartozó kreditszámot (int), vagy nullát, ha nincs ilyen tárgy. o Megjelenít paramétere nincs, tárgyak listában szereplő tantárgyak adatait formázottan tartalmazó listát ad vissza sztringként. o Szükség esetén további private metódusok is definiálhatók, mint például a TárgyatKeres(). 5

A fenti osztályok osztálydiagramja: 6