Fragen zur OOP in Java

Status
Nicht offen für weitere Antworten.

typo3agentur

Neues Mitglied
Ich bin Java-Neuling und komme aus der PHP-Szene. Ich habe Fragen zur OOP in Java.

Ich habe zwei Klassen:

Java:
public class Moving
{
   public double moveSpeed = 1;
   public void move(){
      // Hier ist Logik implementiert, die moveSpeed verwendet
   }
}
Java:
public class Crab extends Moving
{
   public double moveSpeed = 0.6;
}

Crab soll also die move()-Methode erben, aber sich langsamer Bewegen (die Eigenschaft moveSpeed überschreiben). Funktioniert so leider nicht - Crab benutzt moveSpeed = 1.
Wenn ich die move()-Methode in Crab hineinkopiere, wird wie gewünscht moveSpeed=0.6 benutzt.
Ich möchte aber die move()-Methode nur einmal implementieren und in allen erbenden Klassen benutzen.

Jemand einen Tipp?

Als Workaround hatte ich die move-Methode in eine dritte Klasse ausgelagert und statisch gemacht:
Java:
public class MoveUtil
{
   public static move(Moving obj){
     // Hier ist Logik implementiert, die obj.moveSpeed verwendet
   }
}

Allerdings scheitert es daran, dass ich beim Aufruf nicht weiß wie ein Objekt sich selbst übergeben kann. In PHP ist das mit dem Schlüsselwort $this möglich. Gibt es eine Entsprechung in Java?

Vielen Dank
 

Schandro

Top Contributor
ein Object der Klasse "Crab" besitzt 2x die Variable "moveSpeed". Du darfst in "Crab" nicht nochmal
Code:
public double moveSpeed = 0.6;
hinschreiben, stattdessen musst du im Konstruktor den anderen Wert zuweisen:
Java:
public class Crab extends Moving
{
   public Crab(){
      moveSpeed = 0.6;
   }
}
 

Illuvatar

Top Contributor
Die Entsprechung in Java wäre
Code:
this
;)

Aber: das sieht nicht gerade wie gutes Design aus. Mein Vorschlag: Implementiere in Moving statt der Variable* (Variablen können eben nicht überschrieben werden) eine Methode**
Java:
protected double getMoveSpeed() { /* ... */ }
Möglicherweise ist es sogar noch sinnvoller sowohl Moving als auch besagte Methode
Code:
abstract
zu machen. Und vielleicht kannst du sogar ein
Code:
interface
draus machen - aber das kann ich jetzt schlecht beurteilen.

*Wieso ist diese Variable in deinem Code eigentlich
Code:
public
? Das ist ganz selten gut. Siehe FAQ
**Hier wäre mal wieder eine Property schön, wie es sie z.B. in C# gibt...

PS: Gibts eigentlich für das Forum eine Art Fußnoten-Plugin? :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
CT9288 Fragen zu Java Java Basics - Anfänger-Themen 16
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
J Erste Schritte Oracle Tutorials zu Java 8 - Fragen dazu Java Basics - Anfänger-Themen 1
H Java Quereinsteiger Roadmap und Fragen Java Basics - Anfänger-Themen 29
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
Azazel Ein paar Fragen zu Methodenaufrufen(java.awt) Java Basics - Anfänger-Themen 2
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
T Ein paar Fragen zu OOP und Java. Java Basics - Anfänger-Themen 16
N Java Fragen... Java Basics - Anfänger-Themen 10
B Erste Schritte Generelle Fragen zu Java / Greenfoot. Java Basics - Anfänger-Themen 8
K Java Anfänger und paar Fragen=D Java Basics - Anfänger-Themen 7
S Viele Fragen von einem Anfänger in Java Java Basics - Anfänger-Themen 2
T Fragen vom Java Anfänger Java Basics - Anfänger-Themen 8
D JAVA AWT Fragen und Probleme Java Basics - Anfänger-Themen 15
J [Neuling] Allgemeine Fragen zu Java Java Basics - Anfänger-Themen 20
C Java Übung Fragen Java Basics - Anfänger-Themen 3
V Java Fenster, einige Probleme und Fragen Java Basics - Anfänger-Themen 5
A Allgemeine Fragen zu Java Java Basics - Anfänger-Themen 7
X Objektorientierte Java Programmierung - 3 Fragen zum Code Java Basics - Anfänger-Themen 5
G Java Verstaendnis ? und einige Fragen Java Basics - Anfänger-Themen 4
B Fragen aus einem worddokument in Java einbinden Java Basics - Anfänger-Themen 9
0x7F800000 Ein paar noob-fragen zu java ME Java Basics - Anfänger-Themen 5
D Fragen zu Java-Generics Java Basics - Anfänger-Themen 2
J Fragen zu java Kurs Java Basics - Anfänger-Themen 2
P Fragen nach 12 monatiger Java Pause :P Java Basics - Anfänger-Themen 21
D Einige Fragen zu Java Java2D JDBC usw. XD Java Basics - Anfänger-Themen 13
A Allgemeine Fragen zu Java Java Basics - Anfänger-Themen 10
A In Java zeichnen - Fragen Java Basics - Anfänger-Themen 4
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
H Fragen zu Wrapperklassen Java Basics - Anfänger-Themen 29
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
A Bei VierGewinnt fragen ob man gegen CPU oder Menschen spielen will. Java Basics - Anfänger-Themen 7
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
E Bäume/ allgemeine Fragen Java Basics - Anfänger-Themen 21
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
S Diverse Fragen vor Schulaufgabe ;) Java Basics - Anfänger-Themen 4
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
C 3 Fragen rund um Klassenattribute Java Basics - Anfänger-Themen 8
L Erste Schritte Log4J Fragen Java Basics - Anfänger-Themen 5
NeoLexx Fragen zu diversen Elementen der Javabibliothek Java Basics - Anfänger-Themen 5
D Budget Manager fragen zur Umsetzung Java Basics - Anfänger-Themen 9
N Fragen zur Datenspeicherung Java Basics - Anfänger-Themen 45
W Fragen zu Generics Java Basics - Anfänger-Themen 14
T ObjectInput/OutputStream Fragen zur Funktionsweise Java Basics - Anfänger-Themen 3
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
J Fragen zu Input/Output Java Basics - Anfänger-Themen 3
H fragen Java Basics - Anfänger-Themen 15
M Samelsarium Grundlegender Fragen 2 Java Basics - Anfänger-Themen 9
M Sammelsarium an Grundlagen Grundlagen Fragen Java Basics - Anfänger-Themen 11
J Fragen zu synrchonized und kritischen Abschnitten Java Basics - Anfänger-Themen 5
S Fragen zu einem Rechentrainer Java Basics - Anfänger-Themen 2
J Wo kann man Fragen zu ireport stellen. Java Basics - Anfänger-Themen 0
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
D Fragen zur Klassen Java Basics - Anfänger-Themen 4
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
J Interface Fragen bezüglich "Sauberkeit" von Code Java Basics - Anfänger-Themen 5
D Objekte-Fragen Java Basics - Anfänger-Themen 1
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
S Erste Schritte Fragen zur For-Schleife Java Basics - Anfänger-Themen 9
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
C Fragen zum Spigot Plugin (1.8) Java Basics - Anfänger-Themen 6
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
L Viele Fragen zu den Grundlagen Java Basics - Anfänger-Themen 5
B Fragen zu ZIP-File Java Basics - Anfänger-Themen 9
L fragen zu arrays Java Basics - Anfänger-Themen 8
L Fragen zu selbstgeschriebenem Programm Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7
K Erste Schritte Frage Antwort Spiel - Fragen zur Planung Java Basics - Anfänger-Themen 2
Anfänger2011 2 kleine Fragen zu ArrayListen Java Basics - Anfänger-Themen 5
S Fragen zu Ausdrücken&Bedingungen Java Basics - Anfänger-Themen 5
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
H grundlegende Fragen Java Basics - Anfänger-Themen 3
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6
N Programm: Fragen beantworten Java Basics - Anfänger-Themen 6
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
Z Compiler-Fehler LinkedList Fragen Java Basics - Anfänger-Themen 4
D Rekursion Allgemeine Fragen Java Basics - Anfänger-Themen 2
D [Fragen] zu Methoden Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Binärbaums Java Basics - Anfänger-Themen 3
J Allgemeine Fragen zur GUI Java Basics - Anfänger-Themen 1
johnnydoe Erste Schritte Erster Blick - erste Fragen Java Basics - Anfänger-Themen 11
DStrohma Grundsätzliche Fragen zu Drag & Drop Java Basics - Anfänger-Themen 1
N Klassen fragen zur getter und setter methode Java Basics - Anfänger-Themen 11
S 3 Fragen, Verzeichnis, GridLayout psoitionieren, Werte für JSpinner Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben