Vererbung Vererbung von Methoden

Jackie80

Mitglied
Guten Abend,

ich habe mal eine folgende Frage: ich habe eine Klasse Klasse1, die folgendermaßen aussieht:

Java:
public class Klasse 1 {

   private int summe;

   public void summeBerechnenInKlasse1 (int x, int y) {
      summe = x+y;
   }
}

Die nachfolgende Klasse erweitert Klasse 1:

Java:
public class Klasse2 extends Klasse1 {

   private int summe;

   public void berechnungInKlasse2(int x, int y) {
      summeBerechnenInKlasse1(x, y);
   }
}
Ich möchte nämlich, dass beim Aufruf der vererbten Methode "summeBerechnenInKlasse1(x,y)" in der zweiten Klasse die Variable "summe" der Klasse2 verändert wird. Ich glaube aber, so funktioniert es nicht. Könnte mir jemand einen Tipp geben, weshalb es so ist bzw. was hier geändert werden soll?

Vielen Dank im Voraus!

Viele Grüße
Jackie
 
Zuletzt bearbeitet von einem Moderator:

javampir

Bekanntes Mitglied
hi,
ich glaub du willst so was:

Java:
public class Klasse2 extends Klasse1 {
    private int summe;
    
    @Override
    public void summeBerechnenInKlasse1(int x, int y) {
        super.summeBerechnenInKlasse1(int x, int y);
        summe = was auch immer du willst;
    }
}

hierbei wird erst summeBerechnenInKlasse1(x, y) von Klasse1 aufgerufen und danach in Klasse2 weitergemacht (natürlich nur wenn du klasse2.summeBerechneninKlasse1(x, y) auf ein Objekt von Klasse2 anwendest)

javampir
 

Tom299

Bekanntes Mitglied
Du könntest anstatt void einfach die Summe als int in der Funktion zurückgeben anstatt sie (nur) in der Klassenvariable zu speichern
 

Joose

Top Contributor
Generell finde ich ist es ein Designfehler wenn man eine Klasse ableitet und in der Subklasse das gleiche Attribut wieder definiert wie in der Basisklasse!

Eine Möglichkeit wäre folgende:
Java:
public class Klasse1 {
	protected int summe;

	public void summeBerechnenInKlasse1(int x, int y) {
		summe = x + y;
	}
}

public class Klasse2 extends Klasse1 {
	private int summe;

	public void berechnungInKlasse2(int x, int y) {
		summeBerechnenInKlasse1(x, y);
		summe = super.summe;
	}
}

Hierbei wird "summe" in der Basisklasse protected und per "super.summe" kannst du darauf zugreifen und setzt es einfach auf summe von der Klasse2.

Eine andere Möglichkeit wäre folgende:

Java:
public class Klasse1 {
	protected int summe;

	public void summeBerechnenInKlasse1(int x, int y) {
		summe = x + y;
	}
	
	public int getSumme(){
		return summe;
	}
}

public class Klasse2 extends Klasse1 {
	private int summe;

	public void berechnungInKlasse2(int x, int y) {
		summeBerechnenInKlasse1(x, y);
		summe = super.getSumme();
	}
}

Hierbei verwendest du einfach die getter Methode aus der Superklasse um den Wert von Summe zu bekommen.
 

kaoZ

Top Contributor
Was ich nicht verstehe , warum du hier als Rückgabewert void verwendest, und nicht wie man annehmen könnte als "Ergebnis" z.B Integer (außer natürlich du möchtest den Wert als Member halten) und oder warum du die Methode nicht einfach in der Subklasse überschreibst ;)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
H Vererbung theoretische Frage zur Vererbung/Methoden Java Basics - Anfänger-Themen 7
T Vererbung und Zugriff auf Methoden von abgeleiteten Klassen Java Basics - Anfänger-Themen 2
M Vererbung und Sichtbarkeit von Methoden Java Basics - Anfänger-Themen 7
D Vererbung von Methoden -> HILFE Java Basics - Anfänger-Themen 5
G Frage zur Vererbung und überschreiben von Methoden Java Basics - Anfänger-Themen 6
K Vererbung: Methoden mit und ohne Parameter? Java Basics - Anfänger-Themen 3
G Vererbung: Methoden die eigene Klasse zurückgeben Java Basics - Anfänger-Themen 8
R init-methoden vererbung Java Basics - Anfänger-Themen 5
L Klassen/Methoden/Objekt/Vererbung Java Basics - Anfänger-Themen 6
frau-u Problem mit Klassen und Vererbung - benutzen von Methoden Java Basics - Anfänger-Themen 2
T Vererbung von Attributen und Methoden, Verständnisproblem Java Basics - Anfänger-Themen 4
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
1 Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben