Vererben von Superklasse ohne Konstruktor

mapadu

Mitglied
Hallo Leute :)

also ich hab das Forum durchstöbert und leider auf die schnelle nicht die Antwort auf meine spezifische Frage gefunden :

Ich muss von einer Klasse erben, die aber keinen Konstruktor definiert hat.

Java:
public class Grafikobjekt {

	private String beschriftung = "";
	private String grafik = "";

	private double drehung = 0;
	private double x = 0;
	private double y = 0;

	/**
	 * @return die Beschriftung des Grafikobjekts
	 */
	public String getBeschriftung() {
		return beschriftung;
	}

(...)usw.

die Datenfelder brauche ich aber, da diese unbedingt in der Subklasse sein müssen, da ich von der aus noch an zwei Andere vererben muss(bei denen Die Datenfelder entsprechen initialisiert werden müssen). Wie verhalte ich mich da? Ich habs gegoogelt aber da kommen leider immer nur erklärungen zur Vererbung wo Konstruktoren vorhanden sind...

Hierarchie der Vererbung:

(1)Grafikobjekt(Stück code oben):
(2)Lauftier:
2 a)Ameise
2 b) Fresstier


Liebe Grüße !
 
N

nillehammer

Gast
Ich muss von einer Klasse erben, die aber keinen Konstruktor definiert hat.
Eine Klasse, wo man den Konstruktor im Code nicht sieht, hat trotzdem einen. Das ist dann der sog. Defaultkonstruktor (ein Parameterloser Konstruktor, der alle Instanzvariablen mit den in der Java-Spec definierten Defaultwerten oder den bei Deklaration selbst gewählten Werten belegt). Aber das war sicher nicht Dein Problem. Wenn Grafikobjekt die Superklasse ist und die Datenfelder dort durch die Subklassen definierbar sein sollen, musst Du Dir eben den entsprechenden Konstruktor bauen. Ansonsten wären auch Getter und Setter nicht schlecht.
 

Spin

Top Contributor
Java ist eine OOP und muss nunmal für jede Klasse einen Konstruktor erstellen. Irgdenwie muss ja ein Objekt entstehen ;)

Super ist das Stichwort. Um also zu vererben:

Java:
super.getName();
super.getX();

public String getName() {
  return super.getName();
}

grüße Spin
 

Crian

Top Contributor
Java ist eine OOP und muss nunmal für jede Klasse einen Konstruktor erstellen. Irgdenwie muss ja ein Objekt entstehen ;)

Super ist das Stichwort. Um also zu vererben:

Java:
super.getName();
super.getX();

public String getName() {
  return super.getName();
}

grüße Spin



Das ist nicht nötig. Es sei denn, du möchtest proteced auf public heben.

Beispiel:

Java:
package forumProblems.getterFromSuperclass;

public class Eins {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

Java:
package forumProblems.getterFromSuperclass;

public class Zwei extends Eins {

    public static void main(String[] args) {
        Zwei zwei = new Zwei();
        System.out.println("Zwei hat den Namen " + zwei.getName());
    }

    public Zwei() {
        setName("Zwei");
    }

}

Ausgabe:
Code:
Zwei hat den Namen Zwei
 

Spin

Top Contributor
Wer gibt das vor?

Warum können die Properties nicht nach
Code:
Lauftier
verschoben werden?

bye
TT

Hey ho, schau dir mal die Properties an und dann denke ich wirst du der gleichen Meinung sein wie ich, dass


Java:
private String beschriftung = "";
    private String grafik = "";
 
    private double drehung = 0;
    private double x = 0;
    private double y = 0;

doch nicht nach Lauftier gepackt werden müssen.
An der Stelle ist eine abstrakte klasse grafikobjekt ganz sinnvoll, oder eher ein interface. Ein Trait wäre noch schöner aber gibts net in Java. Jedes Lauftier soll diese Properties bekommen und sobald es später ein Nicht Lauftier geben soll dann war der Umstieg der Properties zu Lauftier nicht sinnvoll.

Schön wäre doch die Abstrakte klasse klein zu halten und eventuell während der Laufzeit zu erweitern :) (Bridge :toll:)
 

Spin

Top Contributor
Hat sie doch, aber keinen expliziten ;)

Interfaces haben keinen Konstruktor, aber Klassen schon :p. Ich schätze der TO soll die Vererbung lernen und später aus der Klasse ein Interface machen. Also bisher sind dort doch nur properties - warum also ein Konstruktor. Sobald ein Konstruktor verwendet wird ist man ja so inflexible ;)

Ach ja abstrakte Klassen haben auch gewöhnlich kein Konstruktor - und ne Instanz von einer Abstrakten klasse bilden geht net ;)

Wobei bei abstrakten Klassen, die als Schablone fungieren - doch der Konstruktor von der Subklasse festgelegt werden kann.
 

Timothy Truckle

Top Contributor
Also bisher sind dort doch nur properties - warum also ein Konstruktor. Sobald ein Konstruktor verwendet wird ist man ja so inflexible ;)
:lol:

Ach ja abstrakte Klassen haben auch gewöhnlich kein Konstruktor:
Falsch
- und ne Instanz von einer Abstrakten klasse bilden geht net ;)
Daraus kann man doch aber nicht schließen, dass sie keinen Konstruktor braucht...

Wobei bei abstrakten Klassen, die als Schablone fungieren - doch der Konstruktor von der Subklasse festgelegt werden kann.
Du meinst, sie können einen der angebotenen nutzen?
Ja.

bye
TT
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Fiedelbambu Vererbung JTabbedPane vererben in der MainView Java Basics - Anfänger-Themen 0
M Vererbung Enums vererben Java Basics - Anfänger-Themen 1
T Objekte in Listen vererben Java Basics - Anfänger-Themen 3
C Klassendesign / Wann Interface implementieren und wann Klassen vererben? Java Basics - Anfänger-Themen 3
B static individuell "vererben"? Java Basics - Anfänger-Themen 8
B Datentypen Enum vererben/gruppieren? Java Basics - Anfänger-Themen 6
B Vererbung Designproblem beim Vererben Java Basics - Anfänger-Themen 3
U Vererben von Singleton Java Basics - Anfänger-Themen 17
Luk10 Vererben großer Interface-Methoden Java Basics - Anfänger-Themen 13
V OOP Statische Klassen-Attribute vererben Java Basics - Anfänger-Themen 4
M OOP GUI - Fenster vererben? Java Basics - Anfänger-Themen 9
K Methode vererben bei überschriebenem Konstruktor? Java Basics - Anfänger-Themen 14
C Liste mit Attribut Abstract vererben Java Basics - Anfänger-Themen 11
T OOP Klassenimport "vererben" Java Basics - Anfänger-Themen 2
A Statische Methode "vererben" - Zwang durch annotation processor Java Basics - Anfänger-Themen 10
Luk10 Vererben von private instanzvariablen Java Basics - Anfänger-Themen 20
T enum-Methoden "vererben" Java Basics - Anfänger-Themen 11
J Probleme beim Vererben Java Basics - Anfänger-Themen 2
Y Vererben - Konstruktoren Java Basics - Anfänger-Themen 2
P Attribute Vererben Java Basics - Anfänger-Themen 2
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
C Initialiseren einer Superklasse Java Basics - Anfänger-Themen 2
L Wie greife ich in der Subklasse auf die Parameter einer Methode der Superklasse zu ? Java Basics - Anfänger-Themen 15
N Mit Objekt der Superklasse auf Methode der Subklasse zugreifen Java Basics - Anfänger-Themen 6
Kirby.exe Methode aus Superklasse benutzen Java Basics - Anfänger-Themen 18
V Vererbung Subklasse soll Superklasse verändern Java Basics - Anfänger-Themen 2
F Java - Superklasse BUG Java Basics - Anfänger-Themen 1
M Vererbung Superklasse -> Subklasse Java Basics - Anfänger-Themen 3
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1
P auf superklasse zugreifen Java Basics - Anfänger-Themen 24
C Superklasse und Klassen ausgeben Java Basics - Anfänger-Themen 7
J Vererbung Variablen aus Superklasse übernehmen Java Basics - Anfänger-Themen 2
D Instanz einer Subklasse anhand deren Superklasse Java Basics - Anfänger-Themen 5
A Array in Subklasse - Werte aus Superklasse Java Basics - Anfänger-Themen 4
gamebreiti Problem mit Setter in Superklasse Verkettung der Kostruktoren??? Java Basics - Anfänger-Themen 7
R Vererbung Übergabe von Variablen der Superklasse an Subklasse mit "extends" Java Basics - Anfänger-Themen 5
F Superklasse nochmals erzeugen? Java Basics - Anfänger-Themen 7
A Vererbung Wie auf Variablen der Superklasse zugreifen? Java Basics - Anfänger-Themen 10
G Auf einen bestimmten Konstruktor in der abstrakten Superklasse zugreifen? Java Basics - Anfänger-Themen 2
W Superklasse Konstruktor Java Basics - Anfänger-Themen 9
K Methodenvererbung durch eine Superklasse Java Basics - Anfänger-Themen 7
M OOP Klasse mit Superklasse instanzieren Java Basics - Anfänger-Themen 3
D Klassen Problem - Übergabe an Konstruktor von Superklasse Java Basics - Anfänger-Themen 2
E Der Konstruktor der Superklasse Java Basics - Anfänger-Themen 8
K Polymorphie Objektreferenz als Superklasse anstatt des Objekttypes Java Basics - Anfänger-Themen 12
capgeti Datentypen Static methoden aus Superklasse mit Generics definieren? Java Basics - Anfänger-Themen 9
J Subklasse soll alle Klassen/Pakete der Superklasse importieren Java Basics - Anfänger-Themen 3
G Vererbung mit einer Instanz aus der Superklasse Java Basics - Anfänger-Themen 2
G Zugriff auf Superklasse Java Basics - Anfänger-Themen 13
N Zugriff auf Vaiablen inhalte der superklasse Java Basics - Anfänger-Themen 7
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
V JSON-Objs aus JSON-Obj filtern und löschen (Manipulation ohne Kenntnis der vollst. Struktur) Java Basics - Anfänger-Themen 12
O HashTable kann ohne Performance-Verlust in Multithreaded-Anwendungen eingesetzt werden. Java Basics - Anfänger-Themen 6
T Mehrere if bedingungen ohne & Java Basics - Anfänger-Themen 2
M methode aufrufen ohne parameter Java Basics - Anfänger-Themen 1
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
Mugetsu35 ArrayList Update ohne Index Java Basics - Anfänger-Themen 6
P 2n Potenzieren ohne Math.pow oder pow Java Basics - Anfänger-Themen 8
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
JavaBeginner22 TextArea, ohne Zeilenumbruch? Java Basics - Anfänger-Themen 4
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
S Was macht ++ ohne Schleife? Java Basics - Anfänger-Themen 4
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
U Methode wird genutzt, ohne dass ich die aufrufe? Java Basics - Anfänger-Themen 4
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
M Wie verknüpfe ich eine Bedingung mit einer Methode ohne if-Verzweigung & Bedingungsoperator? Java Basics - Anfänger-Themen 2
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
S Chars vergleichen ohne Betrachtung der Groß und Kleinschreibung Java Basics - Anfänger-Themen 7
javapingu Variablenwerte ändern ohne return Statement? Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
M for schleife ohne geschweifte Klammer Java Basics - Anfänger-Themen 15
KogoroMori21 Variable im Parameter und Ohne Java Basics - Anfänger-Themen 5
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
L Zufälligen Zahlencode, ohne mehrfacher Verwendung einer Ziffer Java Basics - Anfänger-Themen 15
Sinan Arrays auflisten ohne Wiederholung Java Basics - Anfänger-Themen 28
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
J Programm beenden ohne System.exit() oder Runtime.exit() Java Basics - Anfänger-Themen 5
S Teilen ohne Rest Java Basics - Anfänger-Themen 15
Tino1993 Ellipse über draw Funktion ohne spur wandern lassen Java Basics - Anfänger-Themen 6
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
C Programm ausführen ohne JRE? Java Basics - Anfänger-Themen 3
C NumberFormatException: null ohne Ausnahmebehandlung stoppen Java Basics - Anfänger-Themen 7
P Methode trim() ohne StringBuilder Java Basics - Anfänger-Themen 1
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
K Programm stoppt einfach ohne Grund Java Basics - Anfänger-Themen 4
C Projekte in 2 versch. Arbeitsbereichen: auf ein Projekt verweisen (ohne Fehler zu bekommen) Java Basics - Anfänger-Themen 8
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
Z Methode zum Heraufinden von Anagrammen ohne Java API, Ausnahme String Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben