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

Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » Vererbung und Polymorphismus » 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 Vererbung und Polymorphismus
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Java_Beginner
unregistriert
Vererbung und Polymorphismus 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:
Hi Leute,

ich habe das nachfolgende Programm geschrieben. Es gibt eine Klasse Tier und von der Klasse Tier erbt die Klasse Katze. Erst einmal die Frage bis hierhin, ob der Code soweit stimmt. Habe ein Attribut mit Absicht private und eines protected gemacht, dass ich auch mit getMethoden() arbeiten muss. Meine zweite Frage wäre, wie ich hier dann Polymorphismus umsetzen würde? Polymorphismus bedeutet ja Vielgestaltigkeit und wird erst zur Laufzeit ausgeführt? Also muss die Anweisung um Polymorphismus durchzuführen in die main-Funktion?

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:
public class Main
{
    public static void main (String[]args)
    {
        Katze katze = new Katze ("grau",4.2F,4);
        katze.print();
    }
}

class Tier
{
    private String farbe;
    protected float gewicht;
    
    public Tier (String farbe, float gewicht)
    {
        this.farbe = farbe;
        this.gewicht = gewicht; 
    }

    public String getFarbe ()
    {
        return farbe; 
    }
}

class Katze extends Tier
{
    private int pfoten; 
    public Katze (String farbe, float gewicht, int pfoten)
    {
        super(farbe,gewicht); 
        this.pfoten = pfoten; 
    }

    public void print ()
    {
        System.out.println("Die Farbe ist: " +getFarbe() + " und das Gewicht 
        betraegt: " + gewicht + " kg und hat " + pfoten + " Pfoten");
    }
}





Meine Ideen:
Vielen Dank :-)
09.12.2015 21:33
Java_Beginner
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Programmiersprache ist Java :-)
09.12.2015 21:34
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

Es funktioniert schonmal.
Ersetzen wir doch die Methode print() durch das hier:
code:
1:
2:
3:
4:
public String toString() {
	return "Die Farbe ist: " + getFarbe() + " und das Gewicht betraegt: "
			+ gewicht + " kg und hat " + pfoten + " Pfoten";
}


Und in der main Funktion schreiben wir
code:
1:
2:
Tier tier = new Katze("grau", 4.2F, 4);
System.out.println(tier);


Würdest du println für ein normales Tier aufrufen (also new Tier("grau", 4.2f)), würde die toString() Methode von Object verwendet werden. Die wird erst in Katze überschrieben. Obwohl wir eine Referenz auf ein Tier übergeben, wird aber die toString() Methode der Katze aufgerufen.

__________________
Syntax Highlighting fürs Board (Link)
10.12.2015 07:13 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

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

Thema verschoben -> Softwaretechnologie...
10.12.2015 07:23 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Java_Beginner
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen Dank für die Korrektur und Erklärung :-)
10.12.2015 20:10
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » Vererbung und Polymorphismus