import java.util.ArrayList;

public class Analyse{
	
	public void austauschstudentAusgeben(){
		Austauschstudent aus =new Austauschstudent("USA","Mo","Jo",1989,"MID",424243);
		EinUndAusgabe io = new EinUndAusgabe();
		io.ausgeben("Ausgabe: "+aus);
	}
	
	public void wasWirdGezeigt(){
		ArrayList<Student> list = new ArrayList<Student>();
		list.add(new Austauschstudent("USA","Mo","Jo",1989,"MID",424243));
		list.add(new Student("Mo","Jo",1989,"MID",424243));
		EinUndAusgabe io = new EinUndAusgabe();
		for(Student s:list){
			io.ausgeben(s+"\n");
		}
	}
	
	public void gruessen(){
		Austauschstudent aus = new Austauschstudent("USA","Mo","Jo",1989,"MID",424243);
		EinUndAusgabe io = new EinUndAusgabe();
		io.ausgeben(aus.gruss());
	}
	
	
	/* Methode der beerbten Klasse nicht nutzbar
	public void gruessen2(){
		Student s = new Student("Mo","Jo",1989,"MID",424243);
		EinUndAusgabe io = new EinUndAusgabe();
		io.ausgeben(s.gruss());
	}
	*/
	
	public void instanceofSpielerei(){
		Austauschstudent aus = new Austauschstudent("USA","Mo","Jo",1989,"MID",424243);
		Student s0 = new Austauschstudent("USA","Mo","Jo",1989,"MID",424243);
		Student s1 = new Student("Mo","Jo",1989,"MID",424243);
		EinUndAusgabe io = new EinUndAusgabe();
		io.ausgeben("aus: "+(aus instanceof Austauschstudent)+"\n");
		io.ausgeben("aus: "+(aus instanceof Student)+"\n");
		io.ausgeben("s0: "+(s0 instanceof Austauschstudent)+"\n");
		io.ausgeben("s0: "+(s0 instanceof Student)+"\n");
		io.ausgeben("s1: "+(s1 instanceof Austauschstudent)+"\n");
		io.ausgeben("s1: "+(s1 instanceof Student)+"\n");
	}
	
	public void castenSpielerei(){
		Student s0 = new Austauschstudent("USA","Mo","Jo",1989,"MID",424243);
		Austauschstudent aus = (Austauschstudent) s0;
		EinUndAusgabe io = new EinUndAusgabe();
		io.ausgeben(aus.gruss());
		s0 = new Student("Mo","Jo",1989,"MID",424243);
		aus = (Austauschstudent) s0;
		io.ausgeben(aus.gruss());
	}
	
	public static void main(String[] s){
		Analyse ana = new Analyse();
		ana.instanceofSpielerei();
	}
}