OOP Methoden einer anderen Klasse aufrufen

kesha

Mitglied
Hallo.

Ich habe hier eine Aufgabe zu machen. Und zwar soll ich drei Klassen
Code:
Year, Month
und [c]Date[/c] programmieren. Die klassen sollen dabei natürlich mit einender kommunizieren und zwar so: [c]Date[/c]->
Code:
Month
->
Code:
Year[/c] Die Klasse [code]Year
hat das Attribut
Code:
yearNum
und Methoden
Code:
public boolean isLeapYear()
und
Code:
public int daysInYear()
. Die Klasse
Code:
Month
besitzt die Attribute
Code:
private int monthNum
und
Code:
private Year monthYear
und Methoden
Code:
public Year getYear()
,
Code:
public int getNumber()
,
Code:
public int daysInMonth()
. Die Methoden der Klasse
Code:
Year
untersuchen ob das Jahr ein Schaltjahr ist oder nicht und rechnen Anzhal der Tage aus. Die Klasse
Code:
Month
rechnet dann die anzahl der Tage für den jeweiligen Monat aus. So weit bin ich ja schon. Ich weiß jetzt aber nicht mehr wie ich die klasse Date programmieren soll, sie soll Attribute
Code:
private Month dateMonth
,
Code:
private int dayNum
sowie zwei Konstruktoren
Code:
public Date(int day, int month, int year)
und
Code:
public Date(Date date)
haben, die Methoden sollen dann das Datum überprüfen und die anzahl der Tagen zwischen eingegebenen Daten ausrechnen. In der vorgegebenen Testklasse habe ich dann so etwas
Code:
(new Date(6, 6, 2004)).isValidDate()
oder
Code:
testDaysBetween(new Date(12, 12, 1899), new Date(03, 03, 1900))
.

Jetzt weiß ich nicht so richtig wie ich in der Klasse Date auf die Methoden der anderen klasse zugreifen soll.:noe: Kann mir jemand damit helfen?
 
N

nillehammer

Gast
Du erzeugst Dir im Konstruktor von Date Instanzen der anderen Klassen. Auf diesen kannst Du dann die Methoden aufrufen. Evtl. macht es Sinn, sich die erzeugten Instanzen auch in Instanzvariablen von Date zu speichern
 

kesha

Mitglied
Du erzeugst Dir im Konstruktor von Date Instanzen der anderen Klassen. Auf diesen kannst Du dann die Methoden aufrufen. Evtl. macht es Sinn, sich die erzeugten Instanzen auch in Instanzvariablen von Date zu speichern

Ähm, ich bin ein noob. Wie macht man das?

so habe ich zum beispiel:

Java:
public class Date {
    /** The Month of the date. */
    private Month dateMonth;
    /** The number of the day. */
    private int dayNum;
    
    
    /**
     * Basic constructor accepting the day, month and year as int.
     * 
     * @param day
     *            he number of the day within the month
     * @param month
     *            the number of the month, January=1, ..., December=12
     * @param year
     *            the integer representing the year
     */
    public Date(int day, int month, int year) {
        this.dayNum = day;
        // wie komme ich hier auf die Instanzen von andren Klassen
  }
}

Und auf Year soll ich laut Vorgaben über Month zugreifen.
 
N

nillehammer

Gast
Java:
public class Date {
    /** The Month of the date. */
    private Month dateMonth;
    /** The number of the day. */
    private int dayNum;
    
    
    /**
     * Basic constructor accepting the day, month and year as int.
     * 
     * @param day
     *            he number of the day within the month
     * @param month
     *            the number of the month, January=1, ..., December=12
     * @param year
     *            the integer representing the year
     */
    public Date(int day, int month, int year) {
        this.dayNum = day;
       
        this.month = new Month(month, year); //<-- so!
  }
}
Im Konstruktor von Month machst Du dann dasselbe für monthYear.
 

kesha

Mitglied
Du meintest
Code:
this.dateMonth = new Month(month, year);
oder?

Hm - the constructor Month(int, int) is undefined

In Month habe ich übrigens das so gemacht, aber dort year ist Year

Java:
public class Month {
    /** numerical representation of the month January. */
    static final int DECEMBER = 12;
    /** numerical representation of the month December. */
    static final int JANUARY = 1;
    /** the number representing the month. */
    private int monthNum;
    /** the Year of the month. */
    private Year monthYear;

    /**
     * Basic constructor accepting the month as int and year as object.
     * 
     * @param month
     *            - the number of the month, January=1, ..., December=12
     * @param year
     *            - the object representing the year
     */

    Month(int month, Year year) {
        this.monthNum = month;
        this.monthYear = year;
    }
...
 

kesha

Mitglied
so, damit habe ich das jetzt hinbekommen:

Java:
this.dateMonth = new Month(month, new Year(year));

Aber ich komme mir wie ein mittelalterlicher Alchimist vor ???:L Kann mich jemand kurz aufklären was ich da mache...
 
N

nillehammer

Gast
kesha hat gesagt.:
Du meintest this.dateMonth = new Month(month, year); oder?
Ja, war ein Flüchtigkeitsfehler.
kesha hat gesagt.:
Hm - the constructor Month(int, int) is undefined
Konnt ich nicht wissen. Bis eben gab es ja noch keinen Code für Month. Entweder definierst Du ihn Dir oder Du kannst natürlich auch im Konstruktor von Date new Year(year) machen und das dann an den Konstruktor von Month übergeben:
Java:
public Date(int day, int month, int year) {

        this.dayNum = day;

        this.dateMonth = new Month(month, new Year(year)); //<-- so!
  }

[EDIT]
Ups, zweite Frage schneller als meine Antwort.
Was Du da machst? Du bekommst im Konstruktor von Date alle Daten, die Du brauchst als int-Werte. Diese teilst Du dann auf, um im selben Konstruktor die Instanzen zu erzeugen, die Du als Parameter für die anderen Konstruktoren brauchst. Wie Du siehst, muss man in Parametern keine Referenzen auf Variablen übergeben, sondern kann -soweit möglich- die Instanzen direkt erzeugen. Das macht Sinn, solange es übersichtlich bleibt und man auf die erzeugte Instanz danach keinen Zugriff mehr benötigt. Hier brauchst Du im Konstruktor von Date keinen Zugriff mehr auf das neu erzeugte Year, deswegen kann man das so machen.
[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:

kesha

Mitglied
[EDIT]
Ups, zweite Frage schneller als meine Antwort.
Was Du da machst? Du bekommst im Konstruktor von Date alle Daten, die Du brauchst als int-Werte. Diese teilst Du dann auf, um im selben Konstruktor die Instanzen zu erzeugen, die Du als Parameter für die anderen Konstruktoren brauchst. Wie Du siehst, muss man in Parametern keine Referenzen auf Variablen übergeben, sondern kann -soweit möglich- die Instanzen direkt erzeugen. Das macht Sinn, solange es übersichtlich bleibt und man auf die erzeugte Instanz danach keinen Zugriff mehr benötigt. Hier brauchst Du im Konstruktor von Date keinen Zugriff mehr auf das neu erzeugte Year, deswegen kann man das so machen.
[/EDIT]

Das ganze hat mich jetzt richtig weiter gebracht! Danke! :applaus:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Aufruf von statischen Methoden einer anderen Klasse Java Basics - Anfänger-Themen 15
B methoden aus einer anderen klasse nutzen Java Basics - Anfänger-Themen 3
K Methoden aufruf von einer anderen Klasse Java Basics - Anfänger-Themen 7
P Auf Methoden einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 7
C auf Variablen von Methoden einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 7
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
C Zusammenfassen von Methoden in einer Hilfsmethode Java Basics - Anfänger-Themen 19
J Methoden Methoden einer public class AutoCompleteTextField verwenden Java Basics - Anfänger-Themen 14
L Auf Methoden einer Subklasse zugreifen ohne Typecast ? Java Basics - Anfänger-Themen 6
S Exklusive Methoden einer Subklasse Java Basics - Anfänger-Themen 6
E Methoden Auf Methoden einer Klasse zugreifen, ohne ein Objekt zu erstellen Java Basics - Anfänger-Themen 2
O OOP Methoden bei erstellen einer Instanz und mehr Java Basics - Anfänger-Themen 4
S Interface Implementieren von Methoden aus einer Klasse in eine GUI Java Basics - Anfänger-Themen 6
O Erste Schritte Modifizieren einer Klasse und deren Methoden Java Basics - Anfänger-Themen 17
B Vererbung Probleme bei Zugriff auf protected-Methoden in einer Unterklasse Java Basics - Anfänger-Themen 27
A 2 Methoden zu einer zusammenfassen Java Basics - Anfänger-Themen 5
T Aufruf einer Methoden aus einer Util-Klasse mit privatem Konstruktor Java Basics - Anfänger-Themen 7
N OOP Zugriff auf eine Objekt innerhalb einer Klasse aus statischen Methoden Java Basics - Anfänger-Themen 9
J "Untermethoden" - Methoden in einer Methode Java Basics - Anfänger-Themen 17
MrMilti einzelne Methoden einer Klasse auslagern Java Basics - Anfänger-Themen 6
S Stilfrage: Neue Klasse wenn es in einer Klasse zu viele Methoden gibt? Java Basics - Anfänger-Themen 14
E Einer existierenden Klasse Methoden h_inzufügen Java Basics - Anfänger-Themen 13
S Methoden aus einem Servlet in einer JSP verwenden Java Basics - Anfänger-Themen 5
G Rückgabe einer Methoden bei Schließen des Fensters Java Basics - Anfänger-Themen 3
T Mehrere Methoden in einer Klasse? Java Basics - Anfänger-Themen 3
emreiu Methoden Rekursive Methoden Runter- & Hochzählen Java Basics - Anfänger-Themen 2
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
Renjiroo Java Bmi Rechner mit Methoden Java Basics - Anfänger-Themen 4
frager2345 Thread - Methoden synchronized deklarieren Java Basics - Anfänger-Themen 10
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
Alen123 Erstes Arbeiten mit Methoden. Java Basics - Anfänger-Themen 5
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
M Erklärung von Ausnahmebehandlung in Methoden Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
L Rekursive Methoden Java Basics - Anfänger-Themen 14
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
W Methoden aufrufen - auch klassenübergreifend? Java Basics - Anfänger-Themen 9
Kotelettklopfer Methoden nicht aufrufbar Java Basics - Anfänger-Themen 34
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
S Vererbung Abstrakte Methoden: Wozu das Ganze?! Java Basics - Anfänger-Themen 7
S abstrakte methoden in subclass? Java Basics - Anfänger-Themen 7
S Methoden - Warum int wenn auch void? Java Basics - Anfänger-Themen 3
H Kann man Methoden öfter aufrufen? Java Basics - Anfänger-Themen 2
CptK Interface Functional interface mit mehreren Methoden Java Basics - Anfänger-Themen 6
P Objekt in mehreren Methoden verwenden. Java Basics - Anfänger-Themen 3
lougoldi Verkettung von Methoden und Konstruktoren Java Basics - Anfänger-Themen 4
Zeppi OOP Methoden mit einander Verknüpfen Java Basics - Anfänger-Themen 6
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
A Parametar übergabe zwischen Methoden Java Basics - Anfänger-Themen 26
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
M Bräuchte Hilfe bei diesen Methoden Java Basics - Anfänger-Themen 4
G Methoden Methoden mit versch. Datentypen Java Basics - Anfänger-Themen 1
T Ich habe eine Variabel die nicht Methoden übergreifend ist. Kann mir jemand Helfen :) Java Basics - Anfänger-Themen 5
Junger_Basileus Celsius -> Fahrenheit / Strukturierung in statischen Methoden Java Basics - Anfänger-Themen 7
J Verschachtelte Methoden Java Basics - Anfänger-Themen 9
H Methoden in anderen Methoden aufrufen Java Basics - Anfänger-Themen 6
Kawastori Hilfe bei Methoden Übung Java Basics - Anfänger-Themen 6
veryck Methoden Rekursive Methoden mit Rückgabeparameter Java Basics - Anfänger-Themen 9
C Methoden können nicht auf Instanzvariable der Klasse zugreifen Java Basics - Anfänger-Themen 3
P Methoden aufrufen - Fehler Java Basics - Anfänger-Themen 20
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Generics Methoden Java Basics - Anfänger-Themen 7
L Test-Methoden schreiben Java Basics - Anfänger-Themen 13
S throws bei Methoden Java Basics - Anfänger-Themen 4
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
C Methoden-Parameter ist Interface Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
L Methoden Wie Löse ich ext Methoden Aufruf Fehler? Java Basics - Anfänger-Themen 3
A Bankweverwaltung mit Klassen und Methoden Java Basics - Anfänger-Themen 14
B Methoden Ausgeben Aufgabe Java Basics - Anfänger-Themen 15
M Aufsplitten von Methoden in andere Klassen Java Basics - Anfänger-Themen 2
T Methoden Verständnis Java Basics - Anfänger-Themen 14
M Feste Reihenfolge von dem Ablauf von Methoden Java Basics - Anfänger-Themen 7
G Java Abstrakte Methoden Java Basics - Anfänger-Themen 2
N Klassen Warum kann meine Klasse nicht auf Methoden der anderen Klasse zugreifen? Java Basics - Anfänger-Themen 6
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
Kirby.exe Methoden Aufrufe Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben