2016-05-10 15 views
1

Titel sagt alles.Polymorphismus ist die einzige Lösung

Ich brauche ein Szenario, wo Polymorphie die einzige Lösung ist. Ich habe viele Threads mit Vorteilen von Polymorphismus gesehen, aber ich denke, Szenario, wo Lösung mit nur Polymorphismus fehlt.

Eine weitere Möglichkeit, gleiche Frage zu stellen ist:

„? Was ist der Ursprung des Polymorphismus“

+0

"Ich brauche ein Szenario" - Ich glaube, dass der Zweck dieser Übung darin besteht, * Sie * zu denken - nicht wir :) Erstens, können Sie Alternativen zum Polymorphismus finden? Zweitens, kannst du mit * irgendeinem * Szenario/s zu Polymorphismus kommen? Beginnen Sie mit der Beantwortung dieser Fragen und suchen Sie dann nach einem guten Anwendungsfall. Viel Glück! – alfasin

+0

_Erste, finden Sie Alternativen zu Polymorphie? _ Redundante Code wird das Ergebnis als Alternative sein. _Zweitens, können Sie mit irgendeinem Szenario/s zu Polymorphismus kommen?_ Sie wollen, dass ich das beantworte oder Sie wollen, dass ich nur denke? :) Mehrere Szenarien. –

+0

Redundanter Code ist nicht die einzige Alternative. Sie können auch * Komposition * verwenden. Wenn Sie mehrere Szenarien vorschlagen können, rechtfertigt keines von ihnen die Verwendung von Polymorphie? – alfasin

Antwort

0

Ihre Frage ist irgendwie offen für Interpretation.

Lassen Sie mich versuchen, Ihre Frage zu beantworten, indem man zuerst eine Linie zwischen ziehen:

  1. Polymorphismus als abstraktes Konzept
  2. Polymorphismus direkt unterstützt von Programmiersprachen und Compiler wie C++, Java, C#, etc

Das Standardbeispiel für Polymorphismus könnte ein Vektorgrafikwerkzeug wie zB sein Corel Draw, Inkscape. Angenommen, Sie möchten, dass der Benutzer verschiedene geografische Formen (Quadrat, Dreieck, Kreis) auf einer Leinwand zeichnen kann.

Ich schlage vor, dass das KONZEPT von Polymorphie die einzige Lösung für dieses Problem ist, während Sie natürlich sehr gut in der Lage sein werden, eine Lösung in jeder Programmiersprache zu schreiben, auch solche, die keinen integralen Polymorphismus bieten (wie zB C).

Der explizite Polymorphismus wird in Form von mehreren 'if'-Bedingungen sichtbar.

So: Das Konzept des Polymorphismus ist immer die einzige Lösung, wenn:

  1. haben Sie mehrere Klassen von Einheiten, die eine Teilmenge der gemeinsamen Verhalten teilen, aber auch jede Klasse für das einige spezielle Verhalten besondere mit Klasse nur
  2. bei der Kompilierung dich nicht wissen, was konkrete Klasse erforderlich, erst zur Laufzeit

Ihre Add auf Frage nach dem ‚Ursprung‘ von Polymorphie. Das Konzept des Polymorphismus ist etwas Hervorragendes, wie Primes, zumindest fühle ich so. Die implizite Unterstützung von Polymorphismus in Programmiersprachen wurde mit C++ in den frühen 90er Jahren, frühe WYSWG Programme wie Corel Draw und Word gestartet und THE book (das ist natürlich eine persönliche Beobachtung)

Im Folgenden ein Beispiel.