Firmen-aufgabe

pg1337

Bekanntes Mitglied
Sers Leute.

habe mal die Aufgabe gefunden und bin grade dabei sie zu bearbeiten:

Eine Firma brauch ein System zur Verwaltung von Personal und Kunden. Die Anforderungen sind wie folgt:
Die Firma hat mehrere Partner. Ein Partner kann eine Person oder eine Firma sein. Diese Partner haben zugleich mehrere Rollen. Eine Person kann beispielsweiser die Rolle "Mitarbeiter ", "Manager" und "Praktikant". Durch die Rolle der Person soll das Gehalt ermittelt werden.


Ich habe jetzt mal eine Klasse Partner erstellt,in der die Main methode reinkommen soll, sieht bis jetzt so aus:

Java:
public abstract class Partner {

	String rolle;
	String firmenName;
	double gehalt;
	
	public Partner(){
		
	}

	public double monatsGehalt() {
		// TODO Auto-generated method stub
		return 0;
	}
	
	public static void main(String[] args){
		
		Person person= new Person();
		Firma firma= new Firma();
	}
	
	

}


Desweiteren eine Klasse Person & Firma:

Java:
public class Person extends Partner {


	@Override
	public double monatsGehalt() {
		// TODO Auto-generated method stub
		return 0;
	}




}


public class Firma extends Partner {
	

	public class Manager extends Person{
		
	}

	@Override
	public double monatsGehalt() {
		// TODO Auto-generated method stub
		return 0;
	}

Ein weitere Klasse stellt die Abstrakte Klasse Rolle dar:

Java:
public abstract class Rolle {
	
	double gehalt;
	double mitarbeiterFaktor;
	double managerFaktor;
	double praktikantFaktor;
	
	
	public double getMitarbeiterFaktor() {
		return mitarbeiterFaktor;
	}

	public void setMitarbeiterFaktor(double mitarbeiterFaktor) {
		this.mitarbeiterFaktor = mitarbeiterFaktor;
	}

	public double getManagerFaktor() {
		return managerFaktor;
	}

	public void setManagerFaktor(double managerFaktor) {
		this.managerFaktor = managerFaktor;
	}

	public double getPraktikantFaktor() {
		return praktikantFaktor;
	}

	public void setPraktikantFaktor(double praktikantFaktor) {
		this.praktikantFaktor = praktikantFaktor;
	}

	public double getGehalt() {
		return gehalt;
	}

	public void setGehalt(double gehalt) {
		this.gehalt = gehalt;
	}

	public Rolle(){
		
	}

	public abstract double monatsGehalt();
	
}

3 Weitere Klassen (Manager, Mitarbeiter, Praktikant) sehen jeweils so aus:

Java:
public class Manager extends Rolle {
		
		public double monatsGehalt(){
			return gehalt*managerFaktor;
		}
		
	}


Nun weiss ich nicht genau wie ich weiter machen soll..
Wäre nett wenn man mir weiter helfen könnte.

Gruß
 
die Aufgabe gibt ja auch nicht vor dass du eigentlich tun sollst....

ansonsten - die Klasse Rolle ist zuviel, diese ganze faktoren sachen gehoeren raus und jede Implementierung soll darueber selbst bestimmen (also der managerFaktor ist Teil der Manager klasse dann)

weiterhin soll ja ein Partner mehrere Rollen haben koennen, und dann sollten diese auch vom Typ Rolle sein nicht von string. Firmenname ist auch nur fuer die implementierung "Firma" relevant und gehoert nicht in die abstrakte Klasse Partner.

ansonsten wie gesagt - die Aufgabe so gibt nicht viel her ala "was soll ich tun"
 
Wieso ist die Klasse Rolle zuviel?
Die brauch ich doch..?

Edit: Ich mein in ihr lege ich ja die abstracte Methode fest
 
Zuletzt bearbeitet:
sry falsch ausgedrueckt,

die Klasse weiss zuviel... siehe was ich geschrieben habe bzgl der faktoren
 
Okay 🙂.
Habe das jetzt soweit umgeschrieben:

Java:
public abstract class Partner {

	Rolle rolle;

	public Partner(){
		
	}

	public static void main(String[] args){
		
		Person person= new Person();
		Firma firma= new Firma();
	}
}

Java:
public class Person extends Partner {

	String name;
	
	public Person(){
		
	}

}


public class Firma extends Partner {
	
	String firmenname;
	
}

Java:
public abstract class Rolle {
	
	double gehalt;

	public double getGehalt() {
		return gehalt;
	}

	public void setGehalt(double gehalt) {
		this.gehalt = gehalt;
	}

	public Rolle(){
		
	}

	public abstract double monatsGehalt();
	
}

Und hier ein Beispiel für die 3 letzten Klassen:

Java:
	public class Mitarbeiter extends Rolle{
		
		double mitarbeiterFaktor;
		
		public double monatsGehalt(){
			
			return gehalt*mitarbeiterFaktor;
	
		}
		
	}


Stimmt das so?
Die Main-Methode kann ja noch nicht ganz korrekt so sein..?

Edit: Ich würde einen Array erstellen für die Rollen?
 
Zuletzt bearbeitet:
einen Array oder eine Collection ja

wie gesagt, die Aufgabe sagt nix darueber was du nun machen sollst, daher kann man nicht sagen was die main methode nun tun soll
 
sieht jetzt so aus:

Java:
public class MainClass {

	
	public static void main(String[] args) {
		
		Rolle[] r= new Rolle[100];
		
		r[0] = new Mitarbeiter();
		r[1] = new Manager();
		r[2] = new Praktikant();
	   
           System.out.println(r[0].monatsGehalt());
	}
}

stimmt so oder?
 
Zuletzt bearbeitet:

Zurück
Oben