Hi, ich habe mir zur Aufgabe gesetzt ein Konto in verschiedene Klassen einzuteilen um OO besser zu verstehn, leider verstehe ich eins noch nicht ganz ertmal der Code:
Konto Klasse:
[HIGHLIGHT="Java"]package konto;
public class Konto {
private double betrag=0;
public Konto(){
betrag = 0;
}
public Konto(double anfangsbetrag){
betrag = anfangsbetrag;
}
public double getBetrag(){
return betrag;
}
public void setBetrag(double betrag){
this.betrag = betrag;
}
}
[/HIGHLIGHT]
KontoMethoden Klasse:
[HIGHLIGHT="Java"]package konto;
public class KontoMethoden implements KontoMethodenI {
public Konto konto = new Konto();
public void abheben(double betrag) {
if(betrag>this.konto.getBetrag() || betrag<=0)
return;
this.konto.getBetrag() -= betrag; // so gehts natürlich nicht
}
public void einzahlen(double betrag) {
//noch programmieren
}
public void kontostand() {
System.out.println("Ihr Kontostand beträgt: "+this.konto.getBetrag()+" Euro.");
}
}
[/HIGHLIGHT]
Interface für KontoMethoden:
[HIGHLIGHT="Java"]package konto;
public interface KontoMethodenI {
public void abheben(double betrag);
public void einzahlen(double betrag);
public void kontostand();
}
[/HIGHLIGHT]
Main Klasse:
[HIGHLIGHT="Java"]package konto;
public class Main {
public static void main(String[] args) {
Konto meins = new Konto(500.);
meins.kontostand();
}
}
[/HIGHLIGHT]
Meine Frage ist nun wie kann ich in der KontoMethoden Klasse auf die Membervariable betrag zugreifen? Muss ich die Variable "default" oder gar public setzen, weil ich ja nur über die get Methode an den betrag komme?
Und zweitens wieso sagt mir Eclipse in der Main Klasse, dass "The method kontostand() is undefined for the type Konto", wenn ich die Methode auf einem konto aufrufen will?
Ich hoffe das ist nicht zu trivial und mir kann jmd. helfen ^^
Konto Klasse:
[HIGHLIGHT="Java"]package konto;
public class Konto {
private double betrag=0;
public Konto(){
betrag = 0;
}
public Konto(double anfangsbetrag){
betrag = anfangsbetrag;
}
public double getBetrag(){
return betrag;
}
public void setBetrag(double betrag){
this.betrag = betrag;
}
}
[/HIGHLIGHT]
KontoMethoden Klasse:
[HIGHLIGHT="Java"]package konto;
public class KontoMethoden implements KontoMethodenI {
public Konto konto = new Konto();
public void abheben(double betrag) {
if(betrag>this.konto.getBetrag() || betrag<=0)
return;
this.konto.getBetrag() -= betrag; // so gehts natürlich nicht
}
public void einzahlen(double betrag) {
//noch programmieren
}
public void kontostand() {
System.out.println("Ihr Kontostand beträgt: "+this.konto.getBetrag()+" Euro.");
}
}
[/HIGHLIGHT]
Interface für KontoMethoden:
[HIGHLIGHT="Java"]package konto;
public interface KontoMethodenI {
public void abheben(double betrag);
public void einzahlen(double betrag);
public void kontostand();
}
[/HIGHLIGHT]
Main Klasse:
[HIGHLIGHT="Java"]package konto;
public class Main {
public static void main(String[] args) {
Konto meins = new Konto(500.);
meins.kontostand();
}
}
[/HIGHLIGHT]
Meine Frage ist nun wie kann ich in der KontoMethoden Klasse auf die Membervariable betrag zugreifen? Muss ich die Variable "default" oder gar public setzen, weil ich ja nur über die get Methode an den betrag komme?
Und zweitens wieso sagt mir Eclipse in der Main Klasse, dass "The method kontostand() is undefined for the type Konto", wenn ich die Methode auf einem konto aufrufen will?
Ich hoffe das ist nicht zu trivial und mir kann jmd. helfen ^^
Zuletzt bearbeitet: