JAVA programavimas (BIT)
2.1. Užduotis
Užduotis 1
Sukurkite įmonės darbuotojų ir algų mokėjimams skirtai sistemai klases:
Staff - personalo valdymui skirta klasė ji turi turėti:
StaffMember[] staffList - atributas saugantis darbuotojus (naudokite masyvą)
void addStaffMember(StaffMember staff) - prideda prie įmonės darbuotojų sąrašo darbuotoją
double payDay() - metodas išvedantis kiek ir kam sumokama, bei grąžinantis bendrą pinigų kiekį sumokėtą darbuotojams
StaffMember - klasė darbuotojams saugoti
protected String name - darbuotojo vardas
protected String surname - darbuotojo pavardė
protected String phone - darbuotojo telefono nr.
Konstruktorius turi būti su trimis atributais: name, surname, phone
public String toString metodas turi gražinti darbuotojo duomenis (Name: vardas, Surname: pavardė ....)
public double pay() - turi būti metodas, kuris grazins 0 (pagal nutylejima)
Toliau realizuokite skirtingus darbuotojų tipus:
- Trainee (praktikantas),
- Employee (darbuotojas),
- Executive (vadovas),
- Hourly(valandininkas).
Visos šios klasės turi paveldėti klasę StaffMember ir realizuoti metodą pay();
Praktikantas turi turėti tokį pat konstruktorių kaip ir tėvinė klasė (su keturiais parametrais), jo metodas pay() turi gražinti 0 (kadangi jam nemokamas atlyginimas)
Darbuotojas turi turėti du papildomus atributus: socDraudimoNr ir mėnesinį atlyginimą, pay() metodas turi gražinti mėnesinį atlyginimą. Jo konstruktorius turi turėti du papildomus parametrus socDraudimoNr ir mėnesinį atlyginimą
Vadovas turi
paveldėti klasę Darbuotojas (Employee), be papildomų laukų kuriuos turi
darbuotojas jis taip pat turi turėti atributą double bonus kuris
pradžioje būtų lygus 0. Konstruktorius turėtų sutapti su darbuotojo
konstruktoriumi, tačiau jis turi turėti dar vieną papildomą metodą
awardBonus(double bonus) kuris padidintų bonus dydį tokiu skaičiu koks
paduotas kaip parametras. Pay metodas turi gražinti atlyginimą + bonus,
įvykdžius pay metodą bonus turi būti lygus 0.
Valandininkas (Hourly)
turėtų paveldėti darbuotoją, tačiau turėti papildomą atributą int
hoursWorked - kiek valandų dirbo. Taip pat metodą addHours(int hours) -
kuris padidintų valandų skaičių. Atlyginimas skaičiuotūsi taip: rate *
hours (kiek valandų dirbo), po paskaičiavimo hours turi būti
nunumlinama.
Testavimui Sukurkite klasės Staff objektą ir į jį pridėti darbuotojus:
2 paprastus darbuotojus,
1 savanorį,
1 vadovą,
2 valandininkus,
padarykite jog vadovas gavo premiją 150 EUR
pirmasis valandininkas dirbo 10 valandų antrasis 20 valandų
Išveskite kiek šį mėnesį reikės mokėti darbuotojams