public abstract class BinaryOperation implements Term {
private int left;
private int right;
public BinaryOperation(int left, int right) {
this.left = left;
this.right = right;
}
public int getLeft() {
return left;
}
public int getRight() {
return right;
}
}
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
public class Addition extends BinaryOperation {
public Addition(int left, int right) {
super(left, right);
}
@Override
public int getValue() {
return this.getLeft() + this.getRight();
}
}
Addition braucht einen Konstruktor, der die Werte für rechts und links entgegennimmt. Diese werden dann an den Konstruktor der Basisklasse übergeben (super(left, right)). Ein Member value brauchst du nicht zwingend. Natürlich könntest du die Addition auch einmal im Konstruktor durchführen, statt jedes Mal bei getValue().
javaneu
public class Addition extends BinaryOperation{
private int value;
AbsoluteTerm(int value) {
this.value = value;
//hier kommt noch was
}
public int getValue(){
return this.value;
}
}
Ich weiss das ich noch implementieren muss die get methode.
Aber blue j meckert schon .
invalid method ,return type required
Ich verliere die geduld
eulerscheZahl
code:
1:
public class Addition extends BinaryOperation
Den Konstruktor solltest du bei BinaryOperation auch noch ergänzen.
Ist zwar abstract, aber irgendwo musst du right und left ja zuweisen.
javaneu
d) Erstellen Sie die Klasse Addition als Unterklasse von BinaryOperation und implementieren Sie
nun die Methode getValue() so, dass diese die arithmetische Summe der beiden Operanden berechnet
und zurückgibt. Vergessen Sie den Konstruktor der Klasse nicht.
Wie erstellt man genau eine Unterklasse bei java?
eulerscheZahl
Steht doch alles da, du hast die Datei anders benannt, als die Klasse.
BinaryOperation gehört in die Datei BinaryOperation.java
javaneu
public abstract class BinaryOperation implements Term
Hier auch ein fEHLER:
Es wird gesagt BinaryOperation is public .
Should be declared in a file named Binary Operation.
Darf man das so nicht lassen?
Karlito
RE: Vererbung
Zitat:
Original von javaneu
c) Schreiben Sie als Nächstes die abstrakte Klasse BinaryOperation, die ebenfalls das Interface
Term implementiert. Schreiben Sie die Methoden public Term getLeft() und public Term
getRight(), die den linken bzw. rechten im Konstruktor festgelegten Operanden der Operation
zurückgeben. Die Methode getValue() schreiben Sie hier nicht ? warum geht das?
Sorry euler, aber Term muss sogar der Rückgabetyp sein. Fehlerhaft ist der Type der privaten Felder. Außerdem fehlt noch der Konstruktor.
public abstract class BinaryOperation implements Term
{
private int left;
private int right;
public Term int getLeft(){
return this.left;
}
public Term int getRight(){
return this.right;
}
}
Fehler identifier expected markierung bei term
eulerscheZahl
Du hast doch nur die Groß-/Kleinschreibung geändert.
public int getLeft()
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.