Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » Klasse Object » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Klasse Object
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Java_Beginner
unregistriert
Klasse Object Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo :-)

Folgende Aufgabenstellung:

Schreiben Sie eine Klasse Datum, die aus drei Integer-Variablen für Tag, Monat und Jahr besteht. Die Werte werden mittels Konstruktor initialisiert. Ergänzen Sie die Klasse um die Methoden clone() und equals(), welche die entsprechenden Methoden der allgemeinen Oberklasse Object überschreiben, so dass tiefe Kopien entstehen und diese ggf. auch als gleich erkannt werden. Testen Sie Ihr Programm mit der vorgegebenen Main-Funktion.

Wie genau funktioniert denn das mit dem Überschreiben von Methoden? Das ist bei toString() ja auch so und ich verstehe es einfach nicht.

Vielen Dank.

Meine Ideen:
So, hier bin ich leider komplett planlos. Den Konstruktor habe ich noch hinbekommen, auch die beiden Methoden, wobei ich da schon nicht mehr sicher bin.

Mein Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
public class Clone extends Object
{
    public static void main(String[] args) 
    {
        Datum d1 = new Datum (24,12,2016);
        Datum d2 = d1.clone();
        
        boolean program = true;
        
        if (d1==d2)
        {
            program = false;
        }
        if (!(d1.equals(d2)))
        {
            program=false; 
        }
        
        System.out.println("my program ist " + program);
    }
}

class Datum extends Object
{
    
    
    int tag;
    int monat;
    int jahr; 
    
    public Datum (int tag, int monat, int jahr)
    {
        this.tag = tag;
        this.monat = monat;
        this.jahr = jahr; 
    }

    public Object clone()
    {
        return tag + "" + monat + "" +jahr;
    }

    public Object equals()
    {
        return tag + "" + monat + "" + jahr;
    }
}

22.12.2015 20:28
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
public static void main(String[] args) {
	Datum d1 = new Datum(24, 12, 2016);
	Datum d2 = (Datum) d1.clone();

	boolean program = true;

	if (d1 == d2) {
		program = false;
	}
	if (!(d1.equals(d2))) {
		program = false;
	}

	System.out.println("my program ist " + program);
}


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
public class Datum {
	int tag;
	int monat;
	int jahr;

	public Datum(int tag, int monat, int jahr) {
		this.tag = tag;
		this.monat = monat;
		this.jahr = jahr;
	}

	@Override
	public Object clone() {
		return new Datum(this.tag, this.monat, this.jahr);
	}

	@Override
	public boolean equals(Object other) {
		Datum o = (Datum) other;
		return this.tag == o.tag && this.monat == o.monat
				&& this.jahr == o.jahr;
	}
}


__________________
Syntax Highlighting fürs Board (Link)
22.12.2015 21:12 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » Klasse Object