Was ist virtuelle Erbschaft?

Virtuelle Erbschaft ist eine Art Erbschaft, in der die Implementierung von superclass unvollständig ist, und eine Unterklasse wird für komplette Definition eines Gegenstandes angefordert. Diese Art der Erbschaft kann in Verbindung mit einzelner und mehrfacher Erbschaft benutzt werden, aber ist in der mehrfachen Erbschaft allgemein am verwendetsten. Irgendeine Kategorie, die von einer virtuellen niedrigen Kategorie übernimmt, wird eine direkte Unterklasse dieser niedrigen Kategorie. Eine virtuelle niedrige Kategorie kann auf eine Unterklasse bauen, um alle seine Methoden einzuführen, aber dieses ist nicht eine Anforderung.

C++ ist die am allgemeinsten bekannte Computersprache, zum der virtuellen Erbschaft zu verwenden. Um virtuelle Erbschaft in C++ zu erklären, wird das „virtuelle“ Schlüsselwort verwendet. müssen die superclass und die Unterklasse virtuelle Methoden mit dem „virtuellen“ Schlüsselwort erklären. Dieses erklärt dem C++ Compiler, dass die superclass unvollständig ist, und er muss Informationen von der Unterklasse erhalten, um sie abzuschließen. Using die Unterklasse, die superclass bedeutet abzuschließen nicht, dass Unterklassen sich überschreiben, wenn sie die gleiche niedrige Kategorie haben, und anstatt kümmert sich der C++ Compiler um Bestimmung, welche Stücke zu jedem Gegenstand gehören.

Da eine virtuelle niedrige Kategorie für virtuelle Erbschaft angefordert wird, können globale Funktionen in C++ nicht erklärtes virtuelles sein. Diese Erbschaftart kann beim Befolgen nur benutzt werden Grundregeln der objektorientierten (OOP) Programmierung. Der Grund für dieses ist, dass globale Funktionen nicht mit einer bestimmten Kategorie verbunden sind, und also ist normalerweise auf ihren Selbst selbstständig. Ohne können superclass und Unterklasseerbschaft nicht geschehen, also ist globale Funktionen und virtuelle Erbschaft gegenseitig - Exklusives. Globale Funktionen können, in der Theorie, innerhalb der virtuellen Funktionen verwendet werden, aber die Rückseite kann möglicherweise nicht immer arbeiten.

Virtuelle Erbschaft wird verwendet, um viele programmierenprobleme zu lösen, und eins von den nützlichsten ist Entschließung der Mehrdeutigkeit. In der mehrfachen Erbschaft kann man eine niedrige Kategorie A, die zwei Unterklassen, B und C hat, und dann eine Kategorie D haben, die von Kategorien B und von C. übernimmt. Dieses Muster wird allgemein den „Diamanten des Todes“ genannt, weil, wenn Kategorien A, B und C alle Implementierungen der gleichen Methode haben, es nicht möglich für Kategorie D ist, festzustellen, welche Implementierung es verwenden sollte. Virtuelle Erbschaft löst dieses Problem, weil Implementierung jeder Kategorie eindeutig bleibt, und folglich eindeutig. Diese Unterscheidung wird durch die fachkundigen internen Gegenstände behandelt, die virtuelle Tabellen (vtables) genannt werden die jeden Objekt-Typ im Auge behalten, aber diese Tabellen nicht brauchen, von einem Programmierer ausdrücklich manipuliert zu werden, weil sie in die Sprache errichtet werden.

en †zu sein“ - aber für Klein zu den mittelgroßen Geschäften und zu den einzelnen Webmasters, ist die virtuelle Bewirtung eine ideale Lösung.