Megoldások
12.8.1. Bővítsük tovább az előző fejezet Dolgozó osztályát Dolgozó2 néven! Hozzunk létre egy - csak ebből az osztályból látható - osztályváltozót, amely a dolgozók számát tárolja! Gondoskodjunk arról is, hogy példány létrejöttekor automatikusan növekedjen az értéke! Ellenőrizzük, hogy eddig hány dolgozó van!
Az osztályváltozó deklarálása az osztálytörzsben:

Számláló a konstruktorokban:

Létszámellenőrzés a main metódusban:

Az eredmény:

12.8.2. Készítsünk - más osztályból nem látható - metódusokat a fizetés emeléséhez! Az alábbi típusú fizetésemelések lehetségesek:
1. típus: rendkívüli - fix 10.000 Ft-os emelés
2. típus: százalékos - emelés a meglévő fizetés százalékában
3. típus: jogszabály szerinti - emelés a minimálbér 10%-ával
4. típus: általános - adott összegű fizetésemelés
A minimálbér összegét definiáljuk végleges osztályváltozóként, és ennek megfelelően módosítsuk a "minimálbéres" konstruktort! A dolgozókat (d1, ... d4) rendre rendkívüli, 20%-os, jogszabály szerinti, ill. 5.000 Ft-os általános fizetésemelésben részesítsük, majd jelenítsük meg képernyőn a nevüket és az új fizetésüket! Mennyi lett az új átlagfizetés?

Figyeljük meg a metódusok túlterhelését (overriding)!
A minimálbér osztályváltozó lett:


Fizetésemelés és kiíratása:


Átlagfizetés-számítás:

Az eredmény:

12.8.3. Hozzuk létre az osztály paraméter nélküli konstruktorát, amely segítségével példányosítsunk egy újabb dolgozót! Adattagjai milyen értékeket vettek fel? Írjuk felül őket a d4-es dolgozó adataival, kivéve a nevet és a születési évet, amely Molnár Attila (szül. 1985) legyen! Írjunk egy példánymetódust a nettó fizetés kiszámítására! A levonások összesen 45%-ot tesznek ki. Mennyi a nettó bére az új dolgozónak?


Az eredmény:

Az új dolgozó adatainak beállítása, és a nettó fizetésének kiszámítása:


Az eredmény:

12.8.4. Írjuk meg a példányváltozók lekérdező és beállító metódusait! Hozzunk létre osztály- és példány-inicializáló blokkokat, amelyekben jelezzük, hogy a program futása közben milyen inicializálás történik! Készítsünk egy osztálymetódust, amellyel a minimálárat adott százalékkal megnövelhetjük!

Inicializáló blokkok:

Az eredmény:

Osztálymetódus:

Az eredmény:

A feladatok forráskódja:
Dolgozo2.java.