Vererbung

Jali33

Mitglied
Ich brauche mal eure Hilfe, bei dem Thema Verberbung. Ich habe zwei Klassen(Player und Monster), welche Gemeinsamkeiten besitzten. Diese will ich in der Klasse Character auslagern, wo dann beide Klassen drauf zugreifen können. Die main-methode steht in einer weiteren Klasse:

Player:
Java:
public class player {
    int ap;
    public player (int ap) {
        this.ap = ap;
    }
}

Monster:
Java:
public class monster {
}

Character:
Java:
public class character {
    int hp;
    int atk;
    public character (int hp, int atk) {
        this.hp = hp;
        this.atk = atk;
    }
}

Game:
Java:
public class Game {
    public static void main(String[] args) {
        Character spieler1 = new Character ([B]xxxxxx[/B])

}

zu xxxxxx:
in der Klasse Game, will ich nun einen spieler erstellen, der aber nicht nur die Werte von Character besitzt(also hp und atk) sondern auch atk!
 

stg

Top Contributor
In Java gibt es schon eine Klasse Character (die Wrapper-Klasse zu char), das wird das Hauptproblem sein. Außerdem heißt deine Klasse character (kleingeschrieben)
 

Gucky

Top Contributor
Ich glaube, dass zweite atk sollte ap heißen.

Wenn du einen Player erstellen willst, musst du auch einen Player erstellen und keinen Character.
Außerdem musst du die Klassen noch erben lassen. Bei dir erbt nichts.
 

Jali33

Mitglied
Ich würde gerne aus Player und Character die Variablen nutzen, wenn ich in Game ein neues Objekt erstelle. wenn man Character spieler1 = new Character (10, 30) nimmt hat man ja nur die int von der klasse Character....ich würde aber gerne spieler1 so erstellen, dass ich die int aus Character und Player benutze, also (...) spieler1 = new (...) (10, 20, 30)
 

Jali33

Mitglied
und zu dem vererben: es müsste ja dann :
public class Player extends Character und das gleiche halt mit Monster

...ich möchte in Character Methoden reinschreiben, welche in Player und Monster eins zu eins gleich aussehen, wie zb. hp abziehen
 

Khal Drogo

Bekanntes Mitglied
Und wieso machst du das dann nicht?
Du hast immer noch keine Frage gestellt, ich weiß nicht, woran es hängt :D

Mit freundlichen Grüßen
Xelsarion
 

flopalko

Bekanntes Mitglied
Es liegt daran, dass du anscheinend die Vererbung noch gar nicht verstanden hast. Lies dich bitte zuerst ein und stell dann konkrete fragen.
 

bartzer

Mitglied
Hallo, ich bin selber noch Java-Einsteiger denke aber dir hier helfen zu können, lasse mich aber auch gern eines besseren belehren wenn mein Lösungsbeispiel Fehlerhaft sein sollte.

1. Klassennamen fangen mit Großbuchstaben an!
2. Wenn eine Klasse von einer Anderen erben soll, dann musst du das der erbenden Klasse in der Deklaration sagen
(public class Subklasse extends Superklasse )
3. Wenn eine Klasse nun von einer Anderen erbt, dann enthält diese Subklasse alle Attribute(Objektvariablen) und Methoden der Superklasse ebenfalls, es sei denn du überschreibst Diese(Methoden)
4. Der Konstruktor deiner Subklasse muss auch die geerbten Attribute berücksichtigen
5. Wenn du ein Player-Objekt erzeugen willst, dann erzeuge auch ein Player-Objekt und kein Character-Objekt.
(Das erzeugte Player-Objekt hat nun alle Werte und funktionen, die ein Character-Objekt hat UND die speziellen Methoden/Werte die du in deiner Player-Klasse definiert hast)

Hab deine Codebeispiele mal nach bestem Wissen angepasst:

Character:
Java:
public class Character {
    int hp;
    int atk;
    public Character (int hp, int atk) {
        this.hp = hp;
        this.atk = atk;
    }
}
Player:
Klasse Player erbt von Character...
Java:
public class Player extends Character{
    int ap;
     //Vollständiger Konstruktor (auch geerbte Attribute berücksichtigen!)
    public Player (int hp, int atk, int ap) {
        //Superkonstruktor aufrufen für Attribute der Superklasse;              
        super(hp, atk);
        //Attribute die nur Player hat Wert zuweisen
        this.ap = ap;
    }
}
Monster:
Java:
public class Monster [COLOR=#0000FF]extends Character[/COLOR]{
    public Monster (int hp, int atk) {
        super(hp, atk);
    }
}
Game:
Java:
public class Game {
    public static void main(String[] args) {
       //wenn du einen Player erzeugen willst, erzeuge keinen Character sondern einen Player
       //(Der ja von Character erbt und somit gleichzeitig auch ein Character ist)
       Player spieler1 = new Player (hp, atk, ap);
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
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 Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
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
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
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
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
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 Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
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
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
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 Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
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
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
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
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1
M Anfängerprobleme mit Vererbung Java Basics - Anfänger-Themen 27
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben