Ich brauche Hilfe bei Objektorientierter Programmierung...

Funktionierdochmal

Bekanntes Mitglied
Hey Leute. Ich bin Informatikstudent und habe eine Objektorientierte Javahausaufgabe zu bewältigen. Ich finde trotz Folien und Googlesuche keinen Überblick und Zusammenhang über dem was ich tue. Ich weiß es ist zu viel verlangt, aber ich würde mich sehr über eine (kurze) persönliche Hilfe freuen. Jemand, der sich meine Sachen anschaut und Fragen beantwortet. Ich möchte nicht viel eurer Zeit wegnehmen. Ich finde es schwierig meine Fragen zu formulieren. Über eine Kontaktaufnahme würde ich mich freuen.
Liebe Grüße
 

Funktionierdochmal

Bekanntes Mitglied
Na gut. Frage 1 von 999: Ich habe eine Klasse1, die zwar über das Attribut gewicht verfügt. Nun hat eine (erbende) Klasse2 den Wert 0 für gewicht. Eine andere (erbende) Klasse4 erbt nun von Klasse 3 und Klasse3 ebenso von Klasse1. Ich hoffe soweit verständlich. Nun muss ich für Klasse4 ein zufälliges Gewicht bestimmen (Methode dafür bestimmung einer zufälligen int-Zahl habe ich in einer Klasse5 deklariert). Aber ich komme zuerst auf Klasse2 zurück: Meine Klasse1 hat nur die Methode getGewicht mit return 0. Wie mache ich für Klasse2 klar, dass er den Wert 0 hat?
Die Hausaufgabe ist irgendwie sehr vielfältig, ich müsste hier sehr viel schreiben damit euch das klar wird
 

Funktionierdochmal

Bekanntes Mitglied
Ich habe ja nicht einmal eine SetterMethode, wie soll ich für erbende Klassen ein gewicht zuweisen können (nur mithilfe der Methode getgewicht?) mit this.gewicht = gewicht irgendwie? idk
 

Robat

Top Contributor
Was für einen Zugriffsmodifier soll gewicht denn haben? Ist das festgelegt? Sollte gewicht protected sein, kannst du in jeder Du klasse von Klasse 1 auf gewicht zugreifen
Java:
class Class1 {
    protected int gewicht; 
    ... 
}
class Claas2 extends Class1 {
    public Class2() {
        super.gewicht = 2;
    } 
}
 

Funktionierdochmal

Bekanntes Mitglied
Robat ja ich habe es auf protected. Aber das gewicht darf ich so wie du es getan hast nicht festlegen. Es wird durch Zufall mit einer anderen Methode einer anderen Klasse festgelegt.
Java:
    GewichtigesWeihnachtsObjekt(int gewicht) {
        this.gewicht = gewicht;
    }
das akzeptiert er irgendwie nicht, weil er einen super constructor möchte, verstehe ich leider in diesem Zusamenhang auch nicht:

zu temi: kannst du die Frage anders/präziser formulieren?
 

temi

Top Contributor
zu temi: kannst du die Frage anders/präziser formulieren?
Hat die Klasse1 einen Konstruktor, der möglicherweise das Gewicht als Parameter entgegen nimmt?
Java:
class Klasse1 {
   private int gewicht;

   // Konstruktor
   public Klasse1(int gewicht) {
      this.gewicht = gewicht;
   }

   public int getGewicht() {
      return this.gewicht;
   }
}

Entspricht dies ungefähr deiner Klasse1?
 

Funktionierdochmal

Bekanntes Mitglied
Tut mir Leid moment, ich habe die Methode getGewicht mit return 0; gesetzt, weil ja eine andere Klasse das Gewicht 0 hat. Dafür habe ich in der anderen Klasse(die ein Gewicht hat) die getGewicht Methode mit einem @Override ergänzt.
 

temi

Top Contributor
Java:
class Klasse2 extends Klasse1 {
   // Konstruktor, der den Konstruktor der vererbenden Klasse aufruft. Hier mit dem Initialwert "0".
   public Klasse2() {      
      super(0);
   }
}

Der Hinweis von @Robat gilt allerdings auch weiterhin. Da das Gewicht in der Klasse1 "protected" ist, kannst du es natürlich auch direkt in der anderen Klasse setzen.
 
Zuletzt bearbeitet:

Funktionierdochmal

Bekanntes Mitglied
zu meiner nächsten Frage. Zuerst ein kleiner Abschnitt: "Ein Geschenk hat ein zufälliges Gewicht in Kilogramm. Dieses wird beim Erstellen des Geschenks im Konstruktor bestimmt. Das Gewicht muss zwischen 1kg und 20kg (beides inklusive) liegen." Geschenk erbt in diesem Fall von GewichtigesWeihnachtsObjekt und soll dann beim Erstellen eines Geschenks ein zufälliges Gewicht erhalten. "this.gewicht = XMasUtils.getZufallsGanzzahl(1, 20);" "WeihnachtsObjekt erstesGeschenk = new WeihnachtsObjekt(this.gewicht);" Das wären meine Notizen dazu, kann mir da wer helfen?
 

mihe7

Top Contributor
Also, mal kurz zum Verständnis: ein Objekt besitzt Zustand und Verhalten (=> Attribute und Methoden). Davon zu unterscheiden ist die Klasse, die man sich als Vorlage für Objekte vorstellen kann.

Wird nun eine Instanz der Klasse erstellt, wird der Zustand des neu erstellten Objekts initialisiert. Auf diese Initialisierung kann über Konstruktoren Einfluss genommen werden. Jede Klasse besitzt wenigstens einen Konstruktor, wurde keiner im Code angegeben, ist dies der parameterlose Standardkonstruktor.

Das Beispiel von @temi in Kommentar #12 zeigt die Klasse1, die über einen einzigen Konstruktor verfügt, der einen int-Parameter für das Gewicht erwartet. Zur Erzeugung eines Objekts der Klasse1 muss also ein Gewicht angegeben werden. Man muss sich klar machen, dass alle Objekte dieser Klasse und aller Subklassen über das Attribut gewicht verfügen, man in den Subklassen darauf aber nicht mehr (direkt) zugreifen kann, weil gewicht private deklariert wurde. Außerhalb der Klasse1 kann via getGewicht() der Attributwert des Attributs gewicht ermittelt werden.

In Kommentar #16 von @temi siehst Du die von Klasse1 abgeleitete Klasse2. Objekte der Klasse2 verfügen nach wie vor über das gewicht-Attribut, ein direkter Zugriff darauf ist jedoch nicht möglich. Natürlich kann man nach wie vor der Attributwert via getGewicht() ermitteln.

super(...) dient nun dazu, einen Konstruktor der Superklasse aufzurufen - im Kontext des aktuellen (bzw. gerade zu erzeugenden) Objekts. Wird ein neues Klasse2-Objekt erzeugt, wird für dieses Objekt im Konstruktor der Klasse2 der Konstruktor der Klasse1 aufgerufen, der einen int-Wert erwartet. Dieser initialisiert dann das Gewicht. Übrigens: wird kein super(...) angegeben, wird automatisch der parameterlose Konstruktor der Superklasse aufgerufen.

Setze ich nun hiermit für die Klasse3 ein Gewicht?
Wenn Klasse3 (ich nehme mal an, dass damit GewichtigesWeinachtsObjekt gemeint ist) von Klasse1 abgeleitet ist, dann hast Du in Klasse3 keinen Zugriff auf this.gewicht (siehe Erklärung oben). Du willst das Gewicht aber nicht "setzen" (im Sinne von verändern), sondern initialisieren. Um das zu erreichen, verwendest Du einfach den Konstruktor der Superklasse und schreibst super(gewicht);.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
H Brauche Hilfe Java Basics - Anfänger-Themen 2
H Brauche hilfe Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
M Brauche Hilfe bei If-Scheifen Java Basics - Anfänger-Themen 2
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
E Ich Brauche Hilfe Java Basics - Anfänger-Themen 3
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
TpKey10 Ich brauche Hilfe Java Basics - Anfänger-Themen 14
L Input/Output Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe Java Basics - Anfänger-Themen 6
J Brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 3
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
C Ich brauche hilfe für meine Klausur Java Basics - Anfänger-Themen 13
J Brauche Hilfe !! Java Basics - Anfänger-Themen 8
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
U Brauche Hilfe bei Programmierung einer Produktdatenbank App Java Basics - Anfänger-Themen 4
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
T Datentypen Brauche Hilfe bei Arrays Java Basics - Anfänger-Themen 3
U Brauche Hilfe bei Bisektionsverfahren Java Basics - Anfänger-Themen 23
E Erste Schritte brauche hilfe zum verstehen einer Klasse(Tiefensuche) Java Basics - Anfänger-Themen 17
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
B Java Graphen zeichnen - Brauche Hilfe Java Basics - Anfänger-Themen 9
S brauche hilfe bei Fehlersuche Java Basics - Anfänger-Themen 7
M JDK installieren Brauche dringend Hilfe Java Basics - Anfänger-Themen 2
L Brauche Hilfe bei Preisberechnungspogramm Java Basics - Anfänger-Themen 1
D Hilbert und Peano Kurve, ich brauche Hilfe Java Basics - Anfänger-Themen 4
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
V Hilfe-brauche eine Idee! Java Basics - Anfänger-Themen 5
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
A Erste Schritte Brauche Hilfe Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
S Klassen Brauche Hilfe bei Erstellung einer Klasse für einen Tachenrechner!!! Java Basics - Anfänger-Themen 6
W Brauche hilfe bei Hausübung Java Basics - Anfänger-Themen 10
D Brauche Hilfe bei Modulo (Übungsaufgabe) Java Basics - Anfänger-Themen 14
X Brauche Hilfe bei printOnScreen Methode !!! Java Basics - Anfänger-Themen 2
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
K Erste Schritte Brauche Hilfe bei Starten des Programms Java Basics - Anfänger-Themen 11
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
H Java von Kopf bis Fuß: Brauche Hilfe Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
S Erste Schritte BlueJ-Aufgabe: Programmcode / Brauche dringend Hilfe !!! Java Basics - Anfänger-Themen 37
A Brauche Hilfe bei Division von Feldzahl durch Ganzzahl Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 2
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
G Brauche bitte Hilfe, bei umgekehrter Ausgabe!! Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe für ein UML Diagramm Java Basics - Anfänger-Themen 7
S ICh brauche Hilfe,weil Java in der Schule Java Basics - Anfänger-Themen 11
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
I Primzahlenberechnung [Brauche Hilfe] Java Basics - Anfänger-Themen 5
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
F Reader - brauche Hilfe Java Basics - Anfänger-Themen 19
T Brauche Hilfe bei Variabeln Java Basics - Anfänger-Themen 4
J Brauche Hilfe mit replaceFirst Java Basics - Anfänger-Themen 10
M Brauche Hilfe bei Struktogramm Java Basics - Anfänger-Themen 9
T Datentypen brauche dringende hilfe!dezi in Asci umwandeln! Java Basics - Anfänger-Themen 4
X DB4O Collections and Arrays, brauche dringend Hilfe! Java Basics - Anfänger-Themen 3
B brauche hilfe bei funktion erstellen Java Basics - Anfänger-Themen 8
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
N Brauche Hilfe mit Kollisionserkennung! Java Basics - Anfänger-Themen 16
J Brauche Hilfe bei Methode Java Basics - Anfänger-Themen 9
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
G 2 dim. Strsing Arrays brauche Hilfe Java Basics - Anfänger-Themen 20
A Brauche hilfe String untertrennen Java Basics - Anfänger-Themen 12
L Brauche bitte dringend Hilfe für Klausur Java Basics - Anfänger-Themen 8
H Brauche bei einen bsp hilfe! Java Basics - Anfänger-Themen 2
D Währungsrechner brauche Hilfe Java Basics - Anfänger-Themen 10
R Vokabeltrainer / Brauche Hilfe Java Basics - Anfänger-Themen 8
L Brauche Hilfe! Java Basics - Anfänger-Themen 8
S WAV-DATEIEN INTERPRETIEREN UND UMWANDELN Brauche Hilfe Java Basics - Anfänger-Themen 3
A Brauche Hilfe mit einer Forschleife Java Basics - Anfänger-Themen 20
N brauche Hilfe Stringverarbeitung Java Basics - Anfänger-Themen 9
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
M Brauche Hilfe bei Javaapplication für JuFo Java Basics - Anfänger-Themen 21
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
A brauche hilfe ( gpanel und n-ecke) Java Basics - Anfänger-Themen 11
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
S Brauche Hilfe mit waitFor() Java Basics - Anfänger-Themen 4
N Brauche dringende Hilfe Java Aplett läuft nicht! Java Basics - Anfänger-Themen 3
D Brauche Hilfe: Funktion zum Kombinieren von Werten Java Basics - Anfänger-Themen 5
T Brauche Hilfe: Access DB + Hashmap Java Basics - Anfänger-Themen 2
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
N brauche hilfe zu tictactoe Java Basics - Anfänger-Themen 2
G Ich brauche eure Hilfe! Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben