AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unterschied VERERBUNG & POLYMORPHIE

Ein Thema von speedax · begonnen am 4. Nov 2009 · letzter Beitrag vom 5. Nov 2009
Antwort Antwort
Seite 1 von 3  1 23      
speedax

Registriert seit: 18. Mär 2009
Ort: Cottbus
36 Beiträge
 
#1

unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 20:36
hallo leute,

mir steht morgen eine infoklausur bevor und ich ahbe beim lernen gerade ein problem gefunden... ich verstehe alles was es mit mehreren units und klassen auf sich hat, kann es auch anwenden aber nun bin ich über die worte polymorphie und vererbung gestolpert... ich kann damit nichts anfangen... ich weiß nicht genau worin da der unterschied besteht und wie man den unteschied erkennt... könnt ihr mir vllt helfen?!

mfg
speedax23
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

Re: unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 20:45
Hilft Dir der Wikipedia-Artikel weiter?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
speedax

Registriert seit: 18. Mär 2009
Ort: Cottbus
36 Beiträge
 
#3

Re: unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 20:50
ehrlich gesagt nein ich weiß das das beides was damit zu tun hat das man vorherig geschaffene sachen auch in anderen verwenden kann... aber was genau is der unterschied ...kann ja nich das einzige sein das polymorphie immer was mit virtual und abstrakt zutun hat... iw ie muss ich ihm die sache morgen ja nachweisen und begründen könne...
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

Re: unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 20:58
Ich würde sagen, beides ist eng miteinander verknüpft, ich bin kein Experte was solche Definitionen angeht, also nagel mich bitte nicht darauf fest, ich kann dir nur sagen, wie ich diese Bezeichnungen auffassen würde.
Vererbung ist es, wenn ich eine Klasse von einer anderen ableite, um neue Funktionen hinzuzufügen, also die Klasse zu erweitern. Polymorphie ist es, wenn ich die Basisklasse eigentlich als Schnittstelle verwende, um auf diese abgeleiteten Klassen zuzugreifen. Ich könnte z.b. die Klasse TFahrzeug mit der Methode "Fahre" deklarieren, dann TAuto und TFahrrad davon ableiten und erst in diesen Klassen die Methode implementieren (bzw. überschreiben). Weil beide den gleichen Vorfahren haben, brauche ich nicht zu wissen, um was es sich bei einem x-beliebigen Fahrzeug handelt, und kann trotzdem "Fahre" aufrufen. IMO einer der größten Vortteile von OOP.
Delphi-Quellcode:
interface

types
  TFahrzeug = class
    procedure Fahre; virtual; // virtual ist hier wichtig, erzwingt "Späte Bindung", was für's Überschreiben notwendig ist
  end;
  // Vererbung: (hier wird allerdings nur eine leere Methode geerbt)
  TAuto = class(TFahrzeug)
    procedure Fahre; override;
  end;
  TFahrrad = class(TFahrzeug)
    procedure Fahre; override;
  end;
implementation

procedure TFahrzeug.Fahre; // wenn man sowas vermeiden will soltle man natürlich abstract benutzen
begin
end;

procedure TAuto.Fahre;
begin
  ShowMessage('Ich bin ein Auto');
end;

procedure TFahrrad.Fahre;
begin
  ShowMessage('Ich bin ein Fahrrad');
end;

// Polymorphie:
var
  UnbekanntesFahrObjekt: TFahrzeug;
begin
  UnbekanntesFahrObjekt := TAuto.Create:
  UnbekanntesFahrObjekt.Fahre;
  UnbekanntesFahrObjekt.Free;

  UnbekanntesFahrObjekt := TFahrrad.Create:
  UnbekanntesFahrObjekt.Fahre;
  UnbekanntesFahrObjekt.Free;
end
  Mit Zitat antworten Zitat
speedax

Registriert seit: 18. Mär 2009
Ort: Cottbus
36 Beiträge
 
#5

Re: unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 21:00
also würdest du die bezeichnung vererbung als ein nutzen besetehender und dannd as verändern bezeichnen und als polymorphie das nutzen nur an sich?
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#6

Re: unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 21:04
Vererbung ist für mich an sich einfach das Ableiten einer Klasse von einer anderen. Polymorphie ist es, wenn ich über einen Vorfahren auf ein Objekt zugreife bzw. einer Variable die Instanz einer vom typen der Variable abgeleiteten Klasse zuweise.
  Mit Zitat antworten Zitat
speedax

Registriert seit: 18. Mär 2009
Ort: Cottbus
36 Beiträge
 
#7

Re: unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 21:07
habs nichso mit fachbegriffen muss ich sagen... aber is das nich das was ich gerade meinte oder lieg ich falsch?
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#8

Re: unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 21:12
Zitat von speedax:
habs nichso mit fachbegriffen muss ich sagen... aber is das nich das was ich gerade meinte oder lieg ich falsch?
Weiß ich nicht, weil ich meinerseits nicht ganz verstanden habe, was du in deinem letzten Post sagen wolltest.
  Mit Zitat antworten Zitat
speedax

Registriert seit: 18. Mär 2009
Ort: Cottbus
36 Beiträge
 
#9

Re: unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 21:14
*verdammt* ... naja ich versuchs nochmal also cih erstelle eine klasse... dann leite ich eine andere klasse von dieser ab... das ist vererbung...glaub ich(?)... und wenn ich diese abgeleitete dann verwende und mit ner ausgabe verknüpfe is das polymorphie????
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#10

Re: unterschied VERERBUNG & POLYMORPHIE

  Alt 4. Nov 2009, 21:17
Polymorphie bedeutet zum Beispiel, dass eine procedure / function mehrfach mit dem selben Namen vorhanden sein kann, aber zum Beispiel einen anderen rückgabewert liefert.

edit: polymorphie ist natürlich KEINE Mehrfachvererbung.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz