Objektorientierte Programmierung oder OOPs ist ein Programmierparadigma, das das Konzept von implementiert Objekte im Programm. Ziel ist es, durch die Implementierung realer Entitäten wie Vererbung, Abstraktion, Polymorphismus usw. in der Programmierung eine einfachere Lösung für reale Probleme bereitzustellen. Das OOP-Konzept wird häufig in vielen gängigen Sprachen wie Java, Python, C++ usw. verwendet.

OOPs sind auch eines der wichtigsten Themen für die Programmierung von Interviews. Dieser Artikel enthält einige Top-Interviewfragen zum OOPs-Konzept.
Fragen zum OOPs-Interview
1. Was ist objektorientierte Programmierung (OOPs)?
Ö Objekt Ö orientiert P Programmierung (auch als OOPs bekannt) ist ein Programmierparadigma, bei dem die gesamte Software als eine Ansammlung miteinander kommunizierender Objekte fungiert. Ein Objekt ist eine Sammlung von Daten und den Methoden, die mit diesen Daten arbeiten.
2. Warum OOPs?
Der Hauptvorteil von OOP ist ein besser verwaltbarer Code, der Folgendes abdeckt:
- Das Gesamtverständnis der Software nimmt mit zunehmender Distanz zwischen der Sprache der Entwickler und der Sprache der Benutzer zu.
- Die Objektorientierung erleichtert die Wartung durch die Verwendung der Kapselung. Man kann die zugrunde liegende Darstellung leicht ändern, indem man die Methoden beibehält.
- Das OOPs-Paradigma ist hauptsächlich für relativ große Software nützlich.
3. Was ist eine Klasse?
A Klasse ist ein Baustein objektorientierter Programme. Es handelt sich um einen benutzerdefinierten Datentyp, der die Datenelemente und Elementfunktionen enthält, die mit den Datenelementen arbeiten. Es ist wie eine Blaupause oder Vorlage von Objekten mit gemeinsamen Eigenschaften und Methoden.
4. Was ist ein Objekt?
Ein Objekt ist eine Instanz einer Klasse. Datenelemente und Methoden einer Klasse können nicht direkt verwendet werden. Wir müssen ein Objekt (oder eine Instanz) der Klasse erstellen, um sie verwenden zu können. Vereinfacht ausgedrückt handelt es sich dabei um tatsächliche Weltentitäten, die einen Zustand und ein Verhalten haben.
C++ #include using namespace std; // defining class class Student { public: string name; }; int main() { // creating object Student student1; // assigning member some value student1.name = 'Rahul'; cout << 'student1.name: ' << student1.name; return 0; }> Java // class definition class Student { String name; } class GfG { public static void main(String args[]) { // creating an object Student student1 = new Student(); // assigning member some value student1.name = 'Rahul'; System.out.println('student1.name: ' + student1.name); } }> Python # class definition class Student: name = '' # creating object student1 = Student() student1.name = 'Rahul'; print('student1.name: ' + student1.name);> C# using System; // defining class public class Student { public string name; } public class GFG { static public void Main() { // creating object Student student1 = new Student(); student1.name = 'Rahul'; Console.WriteLine('student1.name: ' + student1.name); } }> Ausgabe
student1.name: Rahul>
5. Was sind die Hauptmerkmale von OOPs?
Das Hauptmerkmal der OOPs, auch bekannt als 4 Säulen oder Grundprinzipien der OOPs, sind wie folgt:
- Verkapselung
- Datenabstraktion
- Polymorphismus
- Nachlass

Hauptfunktionen von OOPs
6. Was ist Kapselung?
Bei der Kapselung werden Daten und Methoden, die sie manipulieren, in einer einzigen Einheit zusammengefasst, sodass die sensiblen Daten vor den Benutzern verborgen bleiben
Es wird wie folgt implementiert:
- Ausblenden von Daten: Eine Sprachfunktion, um den Zugriff auf Mitglieder eines Objekts einzuschränken. Zum Beispiel private und geschützte Mitglieder in C++.
- Bündelung von Daten und Methoden: Daten und Methoden, die mit diesen Daten arbeiten, werden gebündelt. Beispielsweise sind die Datenelemente und die Elementmethoden, die sie bearbeiten, in einer einzigen Einheit zusammengefasst, die als Klasse bezeichnet wird.

7. Was ist Abstraktion?
Abstraktion ähnelt der Datenkapselung und ist in OOP sehr wichtig. Es bedeutet, nur die notwendigen Informationen anzuzeigen und die anderen irrelevanten Informationen vor dem Benutzer zu verbergen. Die Abstraktion wird mithilfe von Klassen und Schnittstellen implementiert.

8. Was ist Polymorphismus?
Das Wort Polymorphismus bedeutet, viele Formen zu haben. Es ist die Eigenschaft einiger Codes, sich in verschiedenen Kontexten unterschiedlich zu verhalten. Beispielsweise können wir in der Sprache C++ mehrere Funktionen definieren, die denselben Namen haben, aber je nach Kontext unterschiedlich funktionieren.
Polymorphismus kann basierend auf dem Zeitpunkt, zu dem der Aufruf des Objekts oder der Funktion aufgelöst wird, in zwei Typen eingeteilt werden. Sie sind wie folgt:
- Kompilierzeitpolymorphismus
- Laufzeitpolymorphismus
A) Polymorphismus zur Kompilierungszeit
Polymorphismus zur Kompilierungszeit, auch bekannt als statischer Polymorphismus oder frühe Bindung, ist die Art von Polymorphismus, bei der die Bindung des Aufrufs an seinen Code zur Kompilierzeit erfolgt. Methodenüberladung oder Operatorüberladung sind Beispiele für Polymorphismus zur Kompilierungszeit.
B) Laufzeitpolymorphismus
Laufzeitpolymorphismus, auch dynamischer Polymorphismus oder späte Bindung genannt, ist die Art von Polymorphismus, bei der die tatsächliche Implementierung der Funktion während der Laufzeit oder Ausführung bestimmt wird. Ein Beispiel für diese Methode ist das Überschreiben von Methoden.
9. Was ist Vererbung? Was ist seine Aufgabe?
Die Idee der Vererbung ist einfach: Eine Klasse wird von einer anderen Klasse abgeleitet und verwendet Daten und Implementierung dieser anderen Klasse. Die abgeleitete Klasse wird als untergeordnete oder abgeleitete Klasse oder Unterklasse bezeichnet, und die Klasse, von der die untergeordnete Klasse abgeleitet ist, wird als übergeordnete oder Basis- oder Oberklasse bezeichnet.
Listenknoten
Der Hauptzweck der Vererbung besteht darin, die Wiederverwendbarkeit von Code zu erhöhen. Es wird auch verwendet, um Laufzeitpolymorphismus zu erreichen.
10. Was sind Zugriffsspezifizierer? Welche Bedeutung haben sie bei OOPs?
Zugriffsspezifizierer sind spezielle Arten von Schlüsselwörtern, die verwendet werden, um die Zugänglichkeit von Entitäten wie Klassen, Methoden usw. anzugeben oder zu steuern. Privat , Öffentlich , Und Geschützt sind Beispiele für Zugriffsspezifizierer oder Zugriffsmodifikatoren.
Die Schlüsselkomponenten von OOPs, Kapselung und Datenverbergung, werden größtenteils durch diese Zugriffsspezifizierer erreicht.
11. Was sind die Vor- und Nachteile von OOPs?
Vorteile von OOPs | Nachteile von OOPs |
|---|---|
| OOPs bieten eine verbesserte Wiederverwendbarkeit von Code. | Der Programmierer sollte gut ausgebildet sein und über ein ausgezeichnetes Denken in Bezug auf Objekte verfügen, da in OOPs alles als Objekt behandelt wird. |
| Der Code ist einfacher zu warten und zu aktualisieren. | Da OOPs etwas knifflig sind, ist eine ordnungsgemäße Planung erforderlich. |
| Es bietet eine bessere Datensicherheit, indem es den Datenzugriff einschränkt und unnötige Offenlegung vermeidet. | Das OOP-Konzept ist nicht für alle Arten von Problemen geeignet. |
| Schnelle Implementierung und einfache Neugestaltung, wodurch die Komplexität eines Gesamtprogramms minimiert wird. | Die Länge der Programme ist im Vergleich zum verfahrenstechnischen Ansatz deutlich größer. |
12. Welche anderen Programmierparadigmen gibt es außer OOPs?
Das Programmierparadigma bezieht sich auf die Technik oder den Ansatz zum Schreiben eines Programms. Die Programmierparadigmen können in die folgenden Typen eingeteilt werden:

1. Imperatives Programmierparadigma
Es handelt sich um ein Programmierparadigma, bei dem der Programmstatus durch Zuweisungsanweisungen geändert wird. Das Hauptaugenmerk dieses Paradigmas liegt auf der Art und Weise, wie das Ziel erreicht werden kann. Die folgenden Programmierparadigmen fallen in diese Kategorie:
- Paradigma der prozeduralen Programmierung : Dieses Programmierparadigma basiert auf dem Prozeduraufrufkonzept. Prozeduren, auch Routinen oder Funktionen genannt, sind in diesem Paradigma die Grundbausteine eines Programms.
- Objektorientierte Programmierung oder OOP : In diesem Paradigma visualisieren wir jede Entität als Objekt und versuchen, das Programm basierend auf dem Zustand und Verhalten dieses Objekts zu strukturieren.
- Parallele Programmierung : Das Paradigma der parallelen Programmierung ist die Verarbeitung von Anweisungen, indem sie in mehrere kleinere Teile aufgeteilt und gleichzeitig ausgeführt werden.
2. Deklaratives Programmierparadigma
Die deklarative Programmierung konzentriert sich auf das, was ausgeführt werden soll, und nicht darauf, wie es ausgeführt werden soll. In diesem Paradigma drücken wir die Logik einer Berechnung aus, ohne ihren Kontrollfluss zu berücksichtigen. Das deklarative Paradigma kann weiter klassifiziert werden in:
- Paradigma der logischen Programmierung : Es basiert auf formaler Logik, wobei die Programmanweisungen die Fakten und Regeln zum Problem in logischer Form ausdrücken.
- Funktionales Programmierparadigma : In diesem Paradigma werden Programme durch Anwenden und Zusammenstellen von Funktionen erstellt.
- Datenbankprogrammierungsparadigma : Zur Verwaltung von Daten und Informationen, die als Felder, Datensätze und Dateien organisiert sind, werden Datenbankprogrammierungsmodelle verwendet.
13. Was ist der Unterschied zwischen strukturierter Programmierung und objektorientierter Programmierung?
Strukturierte Programmierung ist eine Technik, die als Vorläufer von OOP gilt und normalerweise aus gut strukturierten und getrennten Modulen besteht. Es handelt sich um eine Teilmenge der prozeduralen Programmierung. Der Unterschied zwischen OOPs und strukturierter Programmierung ist wie folgt:
Objekt orientierte Programmierung | Strukturelle Programmierung |
|---|---|
| Objektorientierte Programmierung basiert auf Objekten, die einen Zustand und ein Verhalten haben. | Die logische Struktur eines Programms wird durch die strukturelle Programmierung bereitgestellt, die Programme in ihre entsprechenden Funktionen unterteilt. |
| Es folgt einem Bottom-to-Top-Ansatz. | Es folgt einem Top-to-Down-Ansatz. |
| Beschränkt den offenen Datenfluss auf autorisierte Teile und sorgt so für eine bessere Datensicherheit. | Keine Einschränkung des Datenflusses. Jeder kann auf die Daten zugreifen. |
| Verbesserte Wiederverwendbarkeit von Code aufgrund der Konzepte Polymorphismus und Vererbung. | Die Wiederverwendbarkeit von Code wird durch die Verwendung von Funktionen und Schleifen erreicht. |
| Dabei werden Methoden global geschrieben und Codezeilen einzeln verarbeitet, d. h. sequentiell ausgeführt. | Dabei arbeitet die Methode dynamisch und führt Aufrufe je nach Codebedarf für eine bestimmte Zeit durch. |
| Das Ändern und Aktualisieren des Codes ist einfacher. | Das Ändern des Codes ist im Vergleich zu OOPs schwierig. |
| In OOPs wird den Daten eine größere Bedeutung beigemessen. | Dem Code wird mehr Bedeutung beigemessen. |
14. Was sind einige häufig verwendete objektorientierte Programmiersprachen?
Das OOP-Paradigma ist eines der beliebtesten Programmierparadigmen. Es wird häufig in vielen gängigen Programmiersprachen verwendet, wie zum Beispiel:
- C++
- Java
- Python
- Javascript
- C#
- Rubin
15. Welche verschiedenen Arten von Polymorphismus gibt es?
Polymorphismus kann basierend auf dem Zeitpunkt, zu dem der Aufruf des Objekts oder der Funktion aufgelöst wird, in zwei Typen eingeteilt werden. Sie sind wie folgt:
- Kompilierzeitpolymorphismus
- Laufzeitpolymorphismus

Arten von Polymorphismus
A) Polymorphismus zur Kompilierungszeit
Polymorphismus zur Kompilierungszeit, auch bekannt als statischer Polymorphismus oder frühe Bindung, ist die Art von Polymorphismus, bei der die Bindung des Aufrufs an seinen Code zur Kompilierzeit erfolgt. Methodenüberladung oder Überlastung des Bedieners sind Beispiele für Polymorphismus zur Kompilierungszeit.
B) Laufzeitpolymorphismus
Auch bekannt als dynamischer Polymorphismus oder späte Bindung, Laufzeitpolymorphismus ist die Art von Polymorphismus, bei der die tatsächliche Implementierung der Funktion während der Laufzeit oder Ausführung bestimmt wird. Überschreibende Methode ist ein Beispiel für diese Methode.
16. Was ist der Unterschied zwischen Überladen und Überschreiben?
Eine Polymorphismusfunktion zur Kompilierungszeit namens Überlastung ermöglicht einer Entität, zahlreiche Implementierungen mit demselben Namen zu haben. Zwei Beispiele sind Methodenüberladung und Operatorüberladung.
Überschreiben ist eine Form des Laufzeitpolymorphismus, bei dem eine Entität mit demselben Namen, aber einer anderen Implementierung ausgeführt wird. Die Umsetzung erfolgt mit Hilfe virtueller Funktionen.
17. Gibt es Einschränkungen bei der Vererbung?
Ja, Es gibt mehr Herausforderungen, wenn man mehr Autorität hat. Obwohl die Vererbung ein sehr starkes OOP-Feature ist, weist sie auch erhebliche Nachteile auf.
- Da zur Implementierung mehrere Klassen durchlaufen werden müssen, dauert die Verarbeitung der Vererbung länger.
- Die Basisklasse und die untergeordnete Klasse, die beide an der Vererbung beteiligt sind, sind ebenfalls eng miteinander verbunden (sogenannte eng gekoppelte Klasse). Wenn daher Änderungen vorgenommen werden müssen, müssen diese möglicherweise in beiden Klassen gleichzeitig vorgenommen werden.
- Auch die Implementierung der Vererbung kann schwierig sein. Daher kann es bei unsachgemäßer Umsetzung zu unvorhergesehenen Fehlern oder ungenauen Ergebnissen kommen.
18. Welche verschiedenen Arten von Erbschaften gibt es?
Die Vererbung kann in fünf Typen eingeteilt werden:

- Einzelvererbung: Direkt von der Basisklasse abgeleitete untergeordnete Klasse
- Mehrfachvererbung: Von mehreren Basisklassen abgeleitete untergeordnete Klasse.
- Mehrstufige Vererbung: Von der Klasse abgeleitete untergeordnete Klasse, die auch von einer anderen Basisklasse abgeleitet ist.
- Hierarchische Vererbung: Mehrere untergeordnete Klassen, die von einer einzelnen Basisklasse abgeleitet sind.
- Hybride Vererbung: Vererbung bestehend aus mehreren der oben genannten Vererbungsarten.
Notiz: Die Art der unterstützten Vererbung hängt von der Sprache ab. Beispielsweise unterstützt Java keine Mehrfachvererbung.
19. Was ist eine Schnittstelle?
Ein einzigartiger Klassentyp, der als Schnittstelle bezeichnet wird, enthält Methoden, jedoch nicht deren Definitionen. Innerhalb einer Schnittstelle ist nur die Methodendeklaration zulässig. Sie können keine Objekte über eine Schnittstelle erstellen. Stattdessen müssen Sie diese Schnittstelle in Betrieb nehmen und die Verfahren dafür festlegen.
20. Wie unterscheidet sich eine abstrakte Klasse von einer Schnittstelle?
Sowohl abstrakte Klassen als auch Schnittstellen sind spezielle Klassentypen, die lediglich die Deklaration der Methoden, nicht jedoch deren Implementierung umfassen. Eine abstrakte Klasse unterscheidet sich jedoch vollständig von einer Schnittstelle. Im Folgenden sind einige wesentliche Unterschiede zwischen einer abstrakten Klasse und einer Schnittstelle aufgeführt.
Abstrakte Klasse | Schnittstelle |
|---|---|
| Wenn eine abstrakte Klasse jedoch geerbt wird, ist die Unterklasse nicht verpflichtet, die Definition der abstrakten Methode bereitzustellen, bis die Unterklasse sie tatsächlich verwendet. | Wenn eine Schnittstelle implementiert wird, muss die Unterklasse alle Methoden der Schnittstelle sowie deren Implementierung angeben. |
| Eine abstrakte Klasse kann sowohl abstrakte als auch nicht abstrakte Methoden haben. | Eine Schnittstelle kann nur abstrakte Methoden haben. |
| Eine abstrakte Klasse kann finale, nicht finale, statische und nicht statische Variablen haben. | Die Schnittstelle verfügt nur über statische und endgültige Variablen. |
| Die abstrakte Klasse unterstützt keine Mehrfachvererbung. | Eine Schnittstelle unterstützt Mehrfachvererbung. |
21. Wie viel Speicher belegt eine Klasse?
Klassen verwenden keinen Speicher. Sie dienen lediglich als Vorlage, nach der Gegenstände hergestellt werden. Nun initialisieren Objekte tatsächlich die Klassenmitglieder und Methoden, wenn sie erstellt werden, und nutzen dabei den Speicher.
22. Ist es immer notwendig, Objekte aus der Klasse zu erstellen?
NEIN. Wenn die Basisklasse nicht statische Methoden enthält, muss ein Objekt erstellt werden. Es müssen jedoch keine Objekte generiert werden, wenn die Klasse statische Methoden enthält. In diesem Fall können Sie den Klassennamen verwenden, um diese statischen Methoden direkt aufzurufen.
23. Was ist der Unterschied zwischen einer Struktur und einer Klasse in C++?
Die Struktur ist ebenfalls ein benutzerdefinierter Datentyp in C++, der der Klasse ähnelt, mit den folgenden Unterschieden:
- Der Hauptunterschied zwischen einer Struktur und einer Klasse besteht darin, dass in einer Struktur die Mitglieder standardmäßig auf öffentlich gesetzt sind, während die Mitglieder in einer Klasse standardmäßig auf privat gesetzt sind.
- Der andere Unterschied besteht darin, dass wir verwenden Struktur zur Deklaration von Struktur und Klasse zum Deklarieren einer Klasse in C++.
24. Was ist Konstruktor?
Ein Konstruktor ist ein Codeblock, der das neu erstellte Objekt initialisiert. Ein Konstruktor ähnelt einer Instanzmethode, ist aber keine Methode, da er keinen Rückgabetyp hat. Im Allgemeinen hat die Methode denselben Namen wie die Klasse, in einigen Sprachen kann dieser jedoch unterschiedlich sein. Zum Beispiel:
In Python wird ein Konstruktor benannt __heiß__.
In C++ und Java hat der Konstruktor den gleichen Namen wie der Klassenname.
Beispiel:
C++ class base { public: base() { cout << 'This is a constructor'; } }> Java class base { base() { System.out.printIn('This is a constructor'); } }> Python class base: def __init__(self): print('This is a constructor')> 25. Welche verschiedenen Arten von Konstruktoren gibt es in C++?
Die gebräuchlichste Klassifizierung von Konstruktoren umfasst:
- Standardkonstruktor
- Nicht parametrisierter Konstruktor
- Parametrisierter Konstruktor
- Konstruktor kopieren
1. Standardkonstruktor
Der Standardkonstruktor ist ein Konstruktor, der keine Argumente akzeptiert. Es handelt sich um einen nicht parametrisierten Konstruktor, der automatisch vom Compiler definiert wird, wenn keine explizite Konstruktordefinition bereitgestellt wird.
Es initialisiert die Datenelemente auf ihre Standardwerte.
2. Nicht parametrisierter Konstruktor
Es handelt sich um einen benutzerdefinierten Konstruktor ohne Argumente oder Parameter.
Beispiel:
C++ class base { base() { cout << 'This is a non-parameterized contructor'; } }> Java class base { base() { System.out.printIn( 'This is a non-parameterized constructor.'); } }> Python class base: def __init__(self): print('This is a non-parameterized constructor')> 3. Parametrisierter Konstruktor
Die Konstruktoren, die einige Argumente annehmen, werden als parametrisierte Konstruktoren bezeichnet.
Beispiel:
class base { public: int base; base(int var) { cout << 'Constructor with argument: ' << var; } };> Java class base { int base; base(int a) { System.out.println('Constructor with argument: ' + a); } }> Python class base: def __init__(self, a): print('Constructor with argument: {}'.format(a))> 4. Konstruktor kopieren
Ein Kopierkonstruktor ist eine Memberfunktion, die ein Objekt mithilfe eines anderen Objekts derselben Klasse initialisiert.
Beispiel:
C++ class base { int a, b; base(base& obj) // copy constructor { a = obj.a; b = obj.b; } }> Java class base { int a, b; base(base obj) // copy constructor { a = obj.a; b = obj.b; } }>
In Python gibt es keine integrierten Kopierkonstruktoren wie Java und C++, aber wir können mit anderen Methoden einen Workaround schaffen.
26. Was ist ein Destruktor?
Ein Destruktor ist eine Methode, die automatisch aufgerufen wird, wenn das Objekt seinen Gültigkeitsbereich verliert oder zerstört wird.
In C++ ist der Destruktorname ebenfalls derselbe wie der Klassenname, jedoch mit dem ( ~ ) Tilde-Symbol als Präfix.
In Python wird der Destruktor benannt __des__ .
Beispiel:
C++ class base { public: ~base() { cout << 'This is a destructor'; } }> Python class base: def __del__(self): print('This is destructor')>
In Java löscht der Garbage Collector automatisch die nutzlosen Objekte, sodass es in Java kein Destruktorkonzept gibt. Wir hätten die Methode finalize() als Workaround für den Java-Destruktor verwenden können, aber sie ist seit Java 9 ebenfalls veraltet.
27. Können wir den Konstruktor in einer Klasse überladen?
Ja, wir können den Konstruktor in einer Klasse in Java überladen. Das Überladen des Konstruktors erfolgt, wenn wir einen Konstruktor mit einem anderen Konstruktor mit unterschiedlichen Parametern (Nummer und Typ) benötigen.
tring zu int
28. Können wir den Destruktor in einer Klasse überladen?
Nein. Ein Destruktor kann in einer Klasse nicht überladen werden. In einer Klasse kann nur ein Destruktor vorhanden sein.
29. Was ist die virtuelle Funktion?
Eine virtuelle Funktion ist eine Funktion, die zum Überschreiben einer Methode der übergeordneten Klasse in der abgeleiteten Klasse verwendet wird. Es wird verwendet, um Abstraktion in einer Klasse bereitzustellen.
In C++ wird eine virtuelle Funktion mit dem Schlüsselwort virtual deklariert.
In Java ist jede öffentliche, nicht statische und nicht finale Methode eine virtuelle Funktion.
Python-Methoden sind immer virtuell.
Beispiel:
C++ class base { virtual void print() { cout << 'This is a virtual function'; } }> Java class base { void func() { System.out.printIn('This is a virtual function') } }> Python class base: def func(self): print('This is a virtual function')> 30. Was ist eine rein virtuelle Funktion?
Eine rein virtuelle Funktion, auch abstrakte Funktion genannt, ist eine Memberfunktion, die keine Anweisungen enthält. Diese Funktion wird bei Bedarf in der abgeleiteten Klasse definiert.
Beispiel:
C++ class base { virtual void pureVirFunc() = 0; }> Java abstract class base { abstract void prVirFunc(); }>
In Python erreichen wir dies mit @abstractmethod aus dem ABC-Modul (Abstract Base Class).
Bonus-Frage
Was ist eine abstrakte Klasse?
Im Allgemeinen ist eine abstrakte Klasse eine Klasse, die zur Vererbung verwendet werden soll. Es kann nicht instanziiert werden. Eine abstrakte Klasse kann sowohl aus abstrakten als auch aus nicht-abstrakten Methoden bestehen.
In C++ ist eine abstrakte Klasse eine Klasse, die mindestens eine rein virtuelle Funktion enthält.
In Java wird eine abstrakte Klasse mit an deklariert abstrakt Stichwort.
Beispiel:
C++ class absClass { public: virtual void pvFunc() = 0; }> Java abstract class absClass { // body }>
In Python verwenden wir das ABC-Modul (Abstract Base Class), um eine abstrakte Klasse zu erstellen.
Muss sich beziehen auf:
- OOPs in C++
- OOPs in Java
- OOPs in Python
- Klassen und Objekte in C++
- Klassen und Objekte in Java
- Klassen und Objekte in Python
- Einführung in Programmierparadigmen
- Schnittstelle in Java
- Abstrakte Klasse in Java
- Fragen zum C++-Interview