Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Allgemeines (OffTopic) » Definition Polymorphie

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.03.2008, 14:54 Uhr
~Genschmänn
Gast


Hallo,

bin auf der Suche nach einer kurzen und prägnanten Definition von dem Begriff Polymorphie.
Habe bisher folgendes geschrieben:

Funktionen werden in abgeleiteten Klassen redefiniert und können über einen einheitlichen Aufruf benutzt werden. Dabei wird erst zur Laufzeit entschieden, welche Funktion für welches Objekt aufgerufen wird ("Late Binding").

Ist das soweit richtig ? Bin für Vorschläge & Ergänzungen dankbar!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.03.2008, 18:20 Uhr
öni



Hört sich total geschwollen an - meine Meinung.

Polymorphie bedeutet Methoden zu überschreiben - virtuelle Methode. Dazu wird in einer abgeleiteten Klasse die Methode neu definiert. Wobei die Basis-Klasse mit ihren Methoden dennoch aufrufbar bleibt - im gegensatz zur rein virtuellen Methode/abstrakt.

Bsp.:

Ein Objekt der Klasse Rechteck hat den Umfang 2(a+b) somit die Methode
mUmfang(a,b){...}.

Ein abgeleitete Klasse vom Rechteck (z.b.Quadrat) hat allerdings eine andere Methode um seinen Umfang zu berechnen (4*a)
mUmfang(a){...}.

Ich hoffe das stimmt mal alles, habs mir so aus dem Kopf zusammen gedacht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.03.2008, 02:29 Uhr
kronos
Quotenfisch
(Operator)


Nö, Polymorphie bedeutet praktisch, dass mehrere Funktionen den selben Namen haben und sich nur durch Parameterzahl oder Parameter-/Rückgabetyp unterscheiden können. Abstraktere Definitionen gibt's auf wikipedia.
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.03.2008, 08:54 Uhr
ao

(Operator)



Zitat von kronos:
Nö, Polymorphie bedeutet praktisch, dass mehrere Funktionen den selben Namen haben und sich nur durch Parameterzahl oder Parameter-/Rückgabetyp unterscheiden können.

Nein, das ist Überladung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.03.2008, 10:08 Uhr
stephanw
localhorst


Der Wikipedia-Artikel gibt ja eine brauchbare Übersicht, wobei ich den Begriff "Polymorphie" bislang nur im Kontext der Vererbung und dem Überschreiben von Methoden kannte.

Und hier heißt das Ding polymorph ("vielgestaltig"), weil der hinter dem Aufruf einer Methode sich viele verschiedene Varianten verstecken können:


C++:
void draw(ShapeList list)
{
  for (int i=0; i<list.size(); i++)
  {
    Shape* s = list[i];
    s->draw();
    // kann Square::draw() sein, Rectangle::draw(), Circle::draw(), ... also vielgestaltig
  }
}


--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Allgemeines (OffTopic) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: