C ++ - virtuelle Klassen entsprechen abstrakten Klassen in Java. Der Unterschied von Schnittstellen ist:
1. Eine Unterklasse kann nur eine abstrakte Klasse (virtuelle Klasse) erben, aber mehrere Schnittstellen implementieren
2. Eine abstrakte Klasse kann eine Konstruktormethode haben, aber eine Schnittstelle hat keine Konstruktormethode.
3. Die Methoden in einer abstrakten Klasse sind nicht unbedingt abstrakte Methoden, dh die Methoden können Implementierungen (mit Methodenkörpern) haben. Die Methoden in der Schnittstelle sind abstrakte Methoden, und es können keine Methodenkörper geben, nur Deklarationen
4. Eine abstrakte Klasse kann öffentlich, privat, geschützt und standardmäßig sein, und die Schnittstelle hat nur öffentlich
5. Die Methoden in einer abstrakten Klasse können öffentlich, privat, geschützt und standardmäßig sein. Die Methoden in der Schnittstelle können nur öffentlich und standardmäßig sein.
Gleiches gilt: Keiner kann instanziiert werden.
Zusätzlicher Hinweis: Schnittstellen sind eine spezielle Art von abstrakter Klasse, eine abstraktere Klasse, die Sie auf diese Weise verstehen können. Eine abstrakte Klasse ist eine unvollständige Klasse, und die Schnittstelle definiert nur einige Funktionen. Verwenden Sie beispielsweise abstrakte Klassen und Schnittstellen, um "Hunde" zu beschreiben. Abstract -Klassen fügen vor allgemeinen Klassen Abstrikte hinzu und sagen: "Schweine können mit Gliedmaßen rennen, Schweine können so oder jenes oder das ...", und die Schnittstelle kann nur sagen: "Schweine können laufen und was sie zum Ausführen verwenden, ist eine Unterklasse."
Der obige Artikel erörtert kurz die Ähnlichkeiten und Unterschiede zwischen Java -Schnittstellen und virtuellen C ++ - virtuellen Klassen. Dies ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.