/**
 * @author kretschmer
 */
public class Auto {

	protected String kennzeichen;
	protected int kilometerstand;
	protected int sitzplaetze;
	private boolean antenne; // true: Antenne ist draußen, false: Antenne ist drinnen
	
	public Auto(){
		kennzeichen="DU-DAI 0815";
		kilometerstand=0;
		sitzplaetze=5;
		antenne=false;
	}

	public Auto(String kennzeichen){
		this.kennzeichen=kennzeichen;
		kilometerstand=0;
		sitzplaetze=5;
		antenne=false;
	}

	public Auto(String kennzeichen, int kilometerstand, int sitzplaetze){
		this.kennzeichen=kennzeichen;
		this.kilometerstand=kilometerstand;
		this.sitzplaetze=sitzplaetze;
		antenne=false;
	}

	public boolean istAntenneDraussen() {
		return antenne;
	}

	public String getKennzeichen() {
		return kennzeichen;
	}

	public int getKilometerstand() {
		return kilometerstand;
	}

	public int getSitzplaetze() {
		return sitzplaetze;
	}

	public void antenneAusfahren() {
		if (antenne==true) System.out.println("Antenne war schon draußen");
		else System.out.println("Antenne wird ausgefahren");
		antenne = true;
	}

	public void antenneEinfahren() {
		if (antenne==true) System.out.println("Antenne wird eingefahren");
		else System.out.println("Antenne ist schon drinnen");
		antenne = false;
	}

	public void aendereKennzeichen(String string) {
		kennzeichen = string;
	}

	public void fahre(int x){
		System.out.println("Das Auto ist "+x+" Kilometer gefahren");
		kilometerstand+=x;
	}

	protected void vorDemWaschen(){
		if(antenne==true) antenneEinfahren();
	}
	
	public void waschen(){
		vorDemWaschen();
		System.out.println("Wasche den Wagen");
	}

	public boolean equals(Object o){
		//if (o.getClass().getName().equals("Auto")&&((Auto)o).getKennzeichen().equals(kennzeichen)) return true;
		String test=o.getClass().getName();
		if (test.equals("Auto")){
			Auto a=(Auto)o;
			String kennzeichen=a.getKennzeichen();
			if(kennzeichen.equals(this.kennzeichen)) return true;
		}
		return false;
	}

	public String toString(){
		return "Dieses Auto hat "+sitzplaetze+" Sitze, \n"+
			"das Nummernschild "+kennzeichen+", \n"+
			"ist "+kilometerstand+" Kilometer gefahren";
	}
/**/
}
