Warum C ++ braucht Polymorphism

Die Fähigkeit, in C ++ zur Laufzeit entscheiden, die aus mehreren überladene Elementfunktionen auf der Laufzeittyp basiert auf Anruf wird aufgerufen Polymorphismus, oder die späte Bindung. Die Entscheidung, welche Funktion zur Compile-Zeit zu nennen Überlastung genannt frühe Bindung denn das klingt wie das Gegenteil von dem späten Bindung.

Eine Überlastung Funktion polymorph eine Basisklasse aufgerufen Überschreiben der Funktion der Basisklasse. Dieser neue Name wird verwendet, um dieses komplizierteren Fall vom normalen Lastfall zu unterscheiden.

Polymorphismus ist der Schlüssel zu der Kraft der objektorientierten Programmierung. Es ist so wichtig, dass die Sprachen, die sich nicht Polymorphismus unterstützen kann als OO-Sprachen nicht werben. (Es ist eine staatliche Regulierung - man kann nicht die Sprache OO kennzeichnen, wenn es nicht Polymorphie unterstützt, wenn Sie einen Haftungsausschluss des Surgeon General hinzuzufügen, oder so ähnlich.)

Ohne Polymorphismus, hat Vererbung wenig Sinn. Als ein Beispiel, denken Sie an Nachos im Ofen zu machen. In diesem Sinne wird man als späte Bindemittel handeln. Das Rezept lesen: Erhitzen Sie die Nachos in den Ofen. Es liest nicht: Wenn die Art der Mikrowelle ist, nicht this-, wenn die Ofentyp üblich ist, dass- tun, wenn die Art der Ofen Konvektion ist, tun, um diese andere Sache.

Das Rezept (der Code) verlässt sich auf Sie (die späte Bindemittel) Wärme bedeutet, wenn in den Ofen (die bestimmte Instanz der Klasse angelegt, was die Aktion (Member-Funktion) zu entscheiden, Ofen) Oder eine seiner Varianten (Unterklassen), wie beispielsweise einem Mikrowellenofen (Mikrowelle).

Dies ist die Art, wie Menschen denken, und entlang der Linien von der Art und Weise, eine Sprache der Gestaltung glaube, die Leute können das Programmiermodell genauer die Welt zu beschreiben, in denen Menschen leben.

Menü