Bratbakk Skrevet 30. oktober 2012 Del Skrevet 30. oktober 2012 (endret) Hei. Jeg har fått i oppgave å lage et klassehieraki som viser forskjellige data ut i fra hvilken type ansatt du er i en bedrift. Jeg står så og si bom fast, og er usikker på hvordan jeg skal komme videre. ____________________________________________________________ Her er oppgaven: Du skal lage et klassehierarki av forskjellige typer ansatte i en (stor) bedrift. Foreldreklassen skal være Ansatt, med data som navn, fodselsDato, personNr, og ansattNr. Barneklasser vil være FastAnsatt, ProvisjonsAnsatt, TimeAnsatt. FastAnsatt har attributt maanedsLonn ProvisjonsAnsatt har attributt enheterSolgt og provisjonPerEnhet TimeAnsatt har attributt antallTimer og timeLonn Alle attributter (data) skal være private. Lag kun get... og set.. metoder som du eventuelt MÅ ha. Lag en toString() metode for hver klasse som skriver ut de data som objektet har. Implementer metoden beregnMaanedslonn for alle klassene. Metoden skal beregne månedslønn basert på de attributter som klassen har. Du må implementere metoden også i Ansatt klassen, men denne skal returnere 0 som verdi. Lag en klasse Bedrift som inneholder en ArrayList av objekter fra hierarkiet Ansatt. Lag en main() metode som oppretter en del objekter av ulik type (minst en av hver av de tre typene), du behøver ikke å lage en avansert brukerdialog for å få tak i data til disse klassene. Hver barneklasse må ha en constructor som kaller foreldreconstructoren (bruk super, se side 440, 441 i læreboka). Lag en metode ansattOversikt i Bedrift klassen. Denne skal kalle toString metoden for alle objektene, og skrive de pent under hverandre. Lag en metode utbetalingsOversikt i Bedrift klassen. Denne skal kalle metoden beregnMaanedslonn for alle objektene du har laget, og skrive ut månedslønnen en pr linje under hverandre, samt summen. _______ Håper noen kan hjelpe meg her, hadde blitt evig takknemlig. Endret 30. oktober 2012 av Anders Bratbakk Lenke til kommentar
GeirGrusom Skrevet 30. oktober 2012 Del Skrevet 30. oktober 2012 Hva trenger du hjelp med? Lenke til kommentar
Bratbakk Skrevet 30. oktober 2012 Forfatter Del Skrevet 30. oktober 2012 Her er det jeg har gjort til nå (er sikkert bare tull alt jeg har gjort uansett): [/b] [b]class Ansatt{ private int navn,fodselsDato,personNr,ansattNr; public Ansatt (int n, int f, int p, int a){ navn = n; fodselsDato = f; personNr = p; ansattNr = a;[/b] [b] } }[/b] [b]class FastAnsatt extends Ansatt{ public FastAnsatt(int n, int f, int p, int a) { super(n, f, p, a); } private int maanedsLonn; public String toString(){ return String.format("%d", maanedsLonn); } }[/b] [b]class ProvisjonsAnsatt extends Ansatt{ public ProvisjonsAnsatt(int n, int f, int p, int a) { super(n, f, p, a); }[/b] [b]private int enheterSolgt, provisjonPerEnhet; public String toString(){ return String.format("%d/%d", enheterSolgt, provisjonPerEnhet); } class TimeAnsatt extends Ansatt{ public TimeAnsatt(int n, int f, int p, int a) { super(n, f, p, a); }[/b] [b]private int antallTimer, timeLonn; public String toString(){ return String.format("%d/%d", antallTimer, timeLonn); } }[/b] [b]}[/b] [b] Jeg har rett og slett ikke peiling på hvordan jeg skal utforme selve oppgaven. Føler at jeg har måtte ha gått glipp av dette i undervisningen på skolen. Så det er egentlig det jeg trenger hjelp med; hvordan skal jeg løse oppgaven? Lenke til kommentar
Pydien Skrevet 30. oktober 2012 Del Skrevet 30. oktober 2012 (endret) For det første må du legge til navn,personummer etc i to string metodene dine. Dernest lager du en klasse bedrift hvor du oppretter en ArrayList av typen Ansatt. Så lager du diverse instanser av barne ansatt klassene og legger de i ArrayListen. for AnsattOversikt metoden lager du en for loop, som går igjennom ArrayListen og bruker toString på alle elementene. Så må du legge in beregnmndslønn metoden i hver klasse, den har type return, hvor den gir tilbake mndslønn når den blir kalt. Så for Utbetalingsoversikt, tar du en for loop igjen og skriver ut alle mndslønnene i listen ved å kalle beregnmndslønn på elementene i listen. Lag her en sum variable som du oppdaterer med hver lønn igjennom listen, Lukke til Endret 30. oktober 2012 av Pydien Lenke til kommentar
Hieronymus Skrevet 31. oktober 2012 Del Skrevet 31. oktober 2012 (endret) Håper noen kan hjelpe meg her, hadde blitt evig takknemlig. Skamløst! EDIT: Ser at du tok til vettet og postet noe kode. Ellers hadde det virkelig vært skamløst! Endret 31. oktober 2012 av Hieronymus Lenke til kommentar
Aleksander- Skrevet 1. november 2012 Del Skrevet 1. november 2012 (endret) Anbefaler deg å endre litt på variabelnavnene, ser ikke så veldig bra ut. class Ansatt{ private int navn,fodselsDato,personNr,ansattNr; public Ansatt (int n, int f, int p, int a){ navn = n; fodselsDato = f; personNr = p; ansattNr = a; Selv ville jeg heller skrevet slik: class Ansatt{ private int navn; private int fodselsDato; private int personNr; private int ansattNr; public Ansatt (int navn, int fodselsDato, int personNr, int ansattNr) { this.navn = navn; this.fodselsDato = fodselsDato; this.personNr = personNr; this.ansattNr = ansattNr; } "this" referer her til den variabelen som er deklarert over. Endret 1. november 2012 av Aleksander- 1 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå