package oop.TypesofRealtionship;

public class Mitarbeiter {
	
	private int id;
	private double gehalt;
	/*
	 * Relationships = Composition (Strong) warum? 
	 * weil ein Mitarbeiter ohne Information nicht existieren darf
	 */
	private PersonalInformation personalInformation;
	/*
	 * Relationships  = Aggregation (waek) warum?
	 * weil ein Mitarbeiter ohne Abteilung  existieren darf
	 */
	private Abteilung abteilung;
	
	public Mitarbeiter(int id, double gehalt,String vorname, String mittelname, String nachname, String kontonummer,String nationaläty, int geburts, Abteilung abteilung) {
		this.id = id;
		this.gehalt = gehalt;
		/*
		 * PersonalInformation = hier handelt es sich um Composition, weil ich einen neuen Speicher in Class Mitarbeiter mit (new) reserviere
		 * also Mitarbeiter kann nur mit Personalinformation existieren 
		 */
		this.personalInformation = new PersonalInformation(vorname,mittelname,nachname,kontonummer, nationaläty,geburts) ;
		
		/*
		 * Abteilung class ist unabhängig von der Class Mitarbeiter (Siehe main Methode)
		 */
		this.abteilung = abteilung;
	}

	@Override
	public String toString() {
		return "Mitarbeiter [id=" + id + ", gehalt=" + gehalt + ", personalInformation=" + personalInformation
				+ ", abteilungName=" + abteilung.getDepName() +", abteilungNummer=" + abteilung.getDepNo() +  "]";
	}

	
	
	
	
	
	
	
}
