# Interface Übung



## achillesat (2. Nov 2010)

Ich hab mir folgende Aufgabe ausgedacht : 

Interface: 

```
public interface daten {
	
	public String inhaber();
	
	public String institut();
	
	public double guthaben(); 

}
```

Klasse: 

```
public class konto implements daten {
	
	private String inhaber = "";
	private String institut = ""; 
	private double guthaben = 0;

	@Override
	public String inhaber() {
		// TODO Auto-generated method stub
		return inhaber;
	}

	@Override
	public String institut() {
		// TODO Auto-generated method stub
		return institut;
	}

	@Override
	public double guthaben() {
		// TODO Auto-generated method stub
		return guthaben;
	}
	
	public String getInhaber(){
		return this.inhaber();
	}
	
	public void setInhaber(String inhaber){
		this.inhaber = inhaber; 
	}
	
	public String getInstitut(){
		return this.institut();
	}
	
	public void setInstitut(String institut){
		this.institut = institut;
	}
	
	public double getGuthaben(){
		return this.guthaben();
	}
	
	public void setGuthaben(double guthaben){
		this.guthaben = guthaben; 
	}

}
```

Main Methode: 

```
public class ProgrammStart {

	public static void main(String[] args) {
		
		daten konto1 = new konto(); 
		daten konto2 = new konto();
	
		
	}
}
```

Ich hab ja jetzt zwei Konten erzeugt und möchte jetzt von den beiden Konten jeweils den "Inhaber", "Institut" und das "Guthaben" auf dem Bildschirm wieder geben, aber wenn ich jetzt *konto1.set oder get* aufrufen möchte erscheint nix.


----------



## ARadauer (2. Nov 2010)

Klassen schreibt man groß.

du machst wahrscheinlich die Ausgabe falsch, zeig das


----------



## SlaterB (2. Nov 2010)

> public String inhaber() {
>        return inhaber;
>    }
+
>    public String getInhaber(){
>        return this.inhaber();
>    }

ist bisschen doppelt oder?


----------



## achillesat (2. Nov 2010)

Also wenn ich in der Klasse Konto jetzt folgendes mache: 


```
public class konto implements daten {

	private String inhaber = "Max Mustermann";
	private String institut = "Sparkasse";
	private double guthaben = 22112.11;

	@Override
	public String inhaber() {
		// TODO Auto-generated method stub
		return inhaber;
	}

	@Override
	public String institut() {
		// TODO Auto-generated method stub
		return institut;
	}

	@Override
	public double guthaben() {
		// TODO Auto-generated method stub
		return guthaben;
	}

	public void setInhaber(String inhaber) {
		this.inhaber = inhaber;
	}

	public void setInstitut(String institut) {
		this.institut = institut;
	}

	public void setGuthaben(double guthaben) {
		this.guthaben = guthaben;
	}

}
```

und in der Main-Methode: 

```
public class ProgrammStart {

	public static void main(String[] args) {
		
		daten konto1 = new konto(); 
		daten konto2 = new konto();
		konto1.inhaber();
		konto1.institut();
		konto1.guthaben();
		System.out.println(konto1.inhaber());
		System.out.println(konto1.institut());
		System.out.println(konto1.guthaben());
		
}
}
```

wird ja : 
*
Max Mustermann
Sparkasse
22112.11*

auf der Console ausgegeben, aber ich möchte mehrere Konten erstellen, sodass in der Klasse Konto inhaber und institut auf blank gesetzt sind und guthaben auf 0.0 und ich dann in der Main Methode, nachdem ich mehrere Konten erstellt habe inhaber, institut und guthaben ändern kann.


----------



## SlaterB (2. Nov 2010)

> aber ich möchte [..]

dann mach das,
bisher hast du keinen Code etwa mit 
> konto1.setInhaber("x");
> konto2.setInhaber("y");
gepostest, daher kann über Fehler/ Probleme noch nicht gesprochen werden


----------



## ARadauer (2. Nov 2010)

Wo ist das Problem?


----------



## achillesat (2. Nov 2010)

bei mir funktionieren die setter alle nicht.
konto1.set.... 
oder 
konto2.set....  

ich geb konto1. und jetzt werden keine setter angegeben die ich auswählen kann


----------



## ARadauer (2. Nov 2010)

ja klar konto1 ist kein konto sondern daten und hat keine setter ;-)


----------

