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

Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » Vererbung und Polymorphismus » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 5 Beiträge
Java_Beginner

Vielen Dank für die Korrektur und Erklärung :-)
Karlito

Thema verschoben -> Softwaretechnologie...
eulerscheZahl

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.
Java_Beginner

Programmiersprache ist Java :-)
Java_Beginner Vererbung und Polymorphismus

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 :-)