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

Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Vererbung » 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
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Erstsemestler
unregistriert
Vererbung 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:
Hey Leute,

es würde um Vererbung gehen. Wenn ich eine Oberklasse KFZ mit Kennzeichen und PS - Zahl habe und die Klasse PKW soll von dieser erben, dann schreibe ich doch:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
 

class KFZ
{
	String kennzeichen;
	int ps;
}



class PKW extends KFZ
{
	
}




Meine Ideen:
Doch wie schaffe ich es jetzt, dass PKW das Kennzeichen und die PS - Zahl übernimmt?

Sorry wenn es eine bescheuerte Frage ist, stehe bei dem Thema noch vollkommen am Anfang :-)


Danke für Eure Antworten.
14.01.2015 22:55
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

Hallo Erstsemestler,

das ist bereits der Fall. Das wird durch das extends-Schlüsselwort sichergestellt. Schau dir mal folgenden Code an und führe Ihn aus:

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:

public class KFZ {
    String kennzeichen;
    int ps;

    @Override
    public String toString() {
        return kennzeichen + ", " + ps;
    }
}

public class PKW extends KFZ {

}

public class Program {
    public static void main(String[] args) {
        KFZ kfz = new KFZ();
        kfz.kennzeichen = "Kraftfahrzeug";
        kfz.ps = 25;

        PKW pkw = new PKW();
        pkw.kennzeichen = "Personenkraftwagen";
        pkw.ps = 35;

        System.out.println(kfz);
        System.out.println(pkw);
    }
}


Du siehst, dass in PKW nichts implementiert ist. Trotzdem ist alles, was in KFZ definiert ist, auch für Instanzen der Klasse PKW zugreifbar. Durch System.out.println() wird toString() der Objekte aufgerufen. Deshalb wird auf der Konsole entsprechend auch kennzeichen + ", " + ps ausgegeben.

Solche Fragen sind am Anfang übrigens ganz normal. Es ist anfangs schwierig sich die Denkweise anzueignen.

Gruß,

Karlito
15.01.2015 02:33 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Erstsemestler
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 Antwort, bin mittlerweile schon einen guten Schritt weitergekommen.

Mich wundert es ehrlich gesagt mittlerweile nicht mehr, dass da so viele das Informatik-Studium werfen geschockt

Bis da mal die ganzen Grundkenntnisse sitzen ist es schon ein ganzes Stück Arbeit :-)
15.01.2015 10:11
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

Tja, viele gehen halt dummerweise mit den falschen Vorstellungen an ein Informatikstudium und die Schule ist eine denkbar schlechte Vorbereitung. Dass man mal gerne Computerspiele gespielt hat und mal ein Netzwerk eingerichtet hat reicht halt nicht aus und die Schule vermittelt, dass Informatik aus Word, Excel, Powerpoint und mal ein paar Befehle einklöppeln besteht, die man aber nicht versteht... Da gibt es noch sehr viel Aufholbedarf.
Ich persönlich finde es klasse Probleme lösen zu können und zu Automatisieren. Immer wenn man ein Problem gelöst hat oder eine langweilige Aufgabe automatisieren kann, ist das ein kleines Erfolgserlebnis. Leider wird einem das in der Schule nicht gezeigt und diejenigen, die das selbstständig machen, werden als Nerds abgestempelt...

Gruß,

Karlito
15.01.2015 11:44 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Vererbung