/*
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
*/


public class MainAssoziationBI_1zu1_2 {
	public static void main(String[] args){
		Fahrer myFahrer = new Fahrer();
		Auto myCar = new Auto ();
		myFahrer.setName("Maier");
		myCar.setKfzZeichen("ES LE 40");
		// Verlinkung: myCar --> myFahrer
		myCar.setFahrer(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{
	public String kfzZeichen;
	public Fahrer f;

	public void setKfzZeichen(String pKfzZeichen){
		kfzZeichen=pKfzZeichen;
	}
	
	public String getKfzZeichen(){
		return(kfzZeichen);
	}
	
	public void setFahrer(Fahrer pFahrer){
		f = pFahrer;
	}

	public Fahrer getFahrer(){
		return(f);
	}
}

class Fahrer{
	public String name;
	public Auto a;

	public void setName(String pName){
		name = pName;
	}

	public String getName(){
		return(name);
	}
	
	public void setAuto(Auto pAuto){
		a = pAuto;
	}

	public Auto getAuto(){
		return(a);
	}
}















