/*
Dies ist ein Demo-Programm für eine längerfristige 
Assoziation mit folgender Eigenschaft:
1)
1 : 1 (zu einem Auto gehört genau 1 Fahrer) 

2)
unidirektional (mit Navigierbarkeit in zwei Richtungen)
Auto <--> Fahrer

3)
Fahrer wird nicht im Konstruktor von Auto angelegt,
sondern in main.

4)
Verlinkung wird mit Hilfe von Methoden gemacht
u.a. mit dem Konstruktor Auto
*/


public class MainAssoziationBI_1zu1_3 {
	public static void main(String[] args){
		Fahrer myFahrer = new Fahrer("Maier");		
		// Verlinkung: myCar --> myFahrer
		Auto myCar =new Auto ("ES LE 40", myFahrer);
		
		// Verlinkung: myFahrer --> myCar		
		myFahrer.setAuto(myCar);		
		
		
		System.out.println("Name des Autofahrers = "+myCar.getFahrer().getName());
		System.out.println("KF-Zeichen des Fahrers = "+myFahrer.getAuto().getKfzZeichen());		
	}
}	

class Auto{
	private String kfzZeichen;
	private Fahrer f;
	
	public Auto(String pKfzZeichen, Fahrer pf){
		kfzZeichen=pKfzZeichen;
		f = pf;
	}

	public String getKfzZeichen(){
		return(kfzZeichen);
	}

	public Fahrer getFahrer(){
		return(f);
	}
}

class Fahrer{
	private String name;
	private Auto a;

	public Fahrer(String pName){
		name = pName;
	}

	public String getName(){
		return(name);
	}
	
	public void setAuto(Auto pa){
		a = pa;
	}

	public Auto getAuto(){
		return(a);
	}
}







