Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » Vererbung » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
eulerscheZahl

Um das Ganze abzukürzen:
code:
1:
2:
3:
public interface Term {
	public int getValue();
}


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
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 unglücklich
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.

Gruß,

Karlito
eulerscheZahl

Term hat an der Stelle ja auch nichts verloren.
javaneu

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
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.