Inhaltsverzeichnis[Ausblenden][Zeigen]
- 1. Was genau ist objektorientierte Programmierung?
- 2. Warum sind OOPs notwendig?
- 3. Welche Vorteile bieten die OOPS-Prinzipien?
- 4. Was sind die Säulen des OOPs-Konzepts?
- 5. Was genau ist eine Klasse?
- 6. Was genau ist ein Objekt?
- 7. Was sind die Einschränkungen von OOPs?
- 8. Was ist Vererbung?
- 9. Was genau ist Kapselung?
- 10. Was ist Polymorphismus?
- 11. Was genau ist Abstraktion?
- 12. Was genau ist Methodenüberladung?
- 13. Was genau ist Methodenüberschreibung?
- 14. Was genau ist eine Oberklasse?
- 15. Was genau ist eine Unterklasse?
- 16. Was genau ist statischer Polymorphismus?
- 17. Was genau ist dynamischer Polymorphismus?
- 18. Beschreiben Sie den Begriff eines Konstruktors.
- 19. Was genau sind die Zugriffsmodifikatoren?
- 20. Was genau ist ein Destruktor?
- 21. Was genau ist hybride Vererbung?
- 22. Was genau ist hierarchische Vererbung?
- 23. Was sind die Nachteile der Erbschaft?
- 24. Was genau ist eine Ausnahme?
- 25. Was genau ist Ausnahmebehandlung und was sind ihre Vorteile?
- 26. Was genau sind virtuelle Funktionen?
- 27. Was genau ist die Freundesfunktion?
- 28. Was genau ist Garbage Collection?
- 29. Was genau ist Kopplung?
- 30. Was genau ist Kohäsion?
- 31. Beschreiben Sie einen try/catch-Block.
- 32. Beschreiben Sie einen letzten Block.
- 33. Was genau ist eine Schnittstelle?
- 34. Was genau ist Komposition?
- 35. Was genau ist Konstruktorverkettung?
- Zusammenfassung
Eines der einflussreichsten Programmierparadigmen heißt OOPs oder objektorientierte Programmierung. Anstelle von Funktionen und Prozessen betont es Klassen und Objekte.
Sein Hauptziel ist es, Daten und Dinge zu verbinden, damit es einfacher ist, mit ihnen zu arbeiten. Jedes Objekt in OOPs besteht aus Code in Form von Prozeduren oder Methoden und Daten in Form von Feldern.
Sprachen wie C++, Objective C, Python, Perl und Java gehören zu den beliebtesten objektorientierten Programmiersprachen.
Es ist wichtig, mehr darüber zu verstehen, da Fragen in Vorstellungsgesprächen äußerst typisch sind. Die meisten Firmen suchen Ingenieure, die mit objektorientierten Methoden und Mustern vertraut sind. Wenn Sie also beabsichtigen, an einem Vorstellungsgespräch teilzunehmen, müssen Sie sich mit OOP-Ideen auskennen.
In diesem Beitrag werden verschiedene Interviewfragen zur objektorientierten Programmierung vom Anfänger- bis zum Expertenniveau gezeigt. Sie können daher jedes Vorstellungsgespräch bestehen und sich Ihre Traumposition sichern.
1. Was genau ist objektorientierte Programmierung?
Objektorientierte Programmierung (OOPs) basiert auf tatsächlichen Objekten und nicht nur auf Funktionen und Prozessen. Klassen werden für einzelne Produkte erstellt.
Vererbung, Polymorphismus und Verbergen sind Beispiele für reale Konzepte, die OOPs in die Programmierung integrieren. Es ermöglicht auch die Verbindung von Daten und Code.
2. Warum sind OOPs notwendig?
Es gibt mehrere Gründe, warum OOPs vorzuziehen sind, die folgenden sind jedoch die wichtigsten:
- OOPs ermöglichen es Menschen, Software leicht zu verstehen, selbst wenn sie mit der Implementierung nicht vertraut sind.
- Hoppla, verbessern Sie die Lesbarkeit, Verständlichkeit und Wartbarkeit des Codes um den Faktor zehn.
- Mit Hilfe von OOPs können auch sehr große Anwendungen einfach erstellt und gesteuert werden.
3. Welche Vorteile bieten die OOPS-Prinzipien?
- OOPS, Programmierobjekte simulieren reale Objekte, reduzieren die Komplexität und verbessern die Übersichtlichkeit des Programms.
- Objekte können in vielen Programmen mehrfach verwendet werden.
- Jedes Objekt erzeugt eine eigene Einheit, deren interne Operationen unabhängig von anderen Systemkomponenten sind.
- Durch die Einführung einiger neuer Objekte und die Aktualisierung einiger bereits bestehender Objekte ist es möglich, neue Funktionen hinzuzufügen oder sich an sich ändernde Betriebsbedingungen anzupassen.
- Die Prozesse oder die Datendarstellung eines OOPs-Programms können leicht geringfügigen Anpassungen unterzogen werden.
4. Was sind die Säulen des OOPs-Konzepts?
Die folgenden sind die Hauptsäulen von OOP:
Erbe: Ermöglicht es Klassen, die Attribute einer anderen Klasse zu erben.
Kapselung: Dies ist als Objekteigenschaft definiert, die wichtige Informationen verbirgt. Dadurch bleiben die Daten vor Klassenmitgliedern verborgen. Die Bezeichner beschreiben, wie im Code auf das Attribut des Objekts zugegriffen wird.
Polymorphie: Damit können Sie eine einzelne Aktivität auf mehrere Arten ausführen. Dies wird durch Schnittstellen erreicht, in denen wir eine Schnittstelle deklarieren, die anschließend mehrmals implementiert wird.
Abstraktion: Mit dieser Funktion können Sie wichtige Informationen vor der Außenwelt verbergen und nur die wesentlichen Fakten präsentieren.
5. Was genau ist eine Klasse?
Eine Klasse ist ein Prototyp, der aus Objekten in verschiedenen Zuständen und mit unterschiedlichem Verhalten besteht. Es hat eine Reihe von Methoden, die von den Objekten in dieser Klasse gemeinsam genutzt werden.
6. Was genau ist ein Objekt?
Ein Objekt ist eine reale Entität, die als grundlegende Einheit von OOPs dient, wie z. B. ein Stuhl, eine Katze oder ein Hund. Verschiedene Objekte haben verschiedene Zustände, Eigenschaften und Aktionen.
7. Was sind die Einschränkungen von OOPs?
- Die Größe ist größer als die anderer Anwendungen.
- Es erfordert etwas Gewöhnung.
- Bestimmte Arten von Problemen erfordern es nicht.
- Es war arbeitsintensiv zu erstellen und im Vergleich zu anderen Anwendungen arbeitet es langsamer.
8. Was ist Vererbung?
Ein Begriff, der als Vererbung bezeichnet wird, bezieht sich auf die gemeinsame Nutzung der etablierten Struktur und des Verhaltens einer Klasse durch eine andere Klasse. Wenn die Vererbung auf eine einzelne Klasse angewendet wird, wird dies als Einzelvererbung bezeichnet; wenn sie von vielen Klassen abhängt, spricht man von Mehrfachvererbung.
9. Was genau ist Kapselung?
Die Idee von OOPs beinhaltet auch die Kapselung. Es beschreibt die Vermischung von Daten und Datenmanipulationstechniken. Darüber hinaus hilft es, den direkten Zugriff auf einige Teile eines Objekts zu verhindern.
10. Was ist Polymorphismus?
In OOP-Sprachen ist Polymorphismus ein grundlegendes Konzept. Es zeigt, wie sich verschiedene Klassen eine Schnittstelle teilen können. Diese Klassen sind alle in der Lage, einzigartige Schnittstellenimplementierungen zu haben.
11. Was genau ist Abstraktion?
Abstraktion ist ein Konzept der objektorientierten Programmierung (OOPs), das verwendet wird, um die Struktur von realen Objekten zu erstellen. Es „zeigt“ nur die wichtigsten Eigenschaften und „verbirgt“ fremde Informationen vor der Außenwelt. Das grundlegende Ziel der Abstraktion ist es, Menschen vor unnötigen Informationen zu schützen.
12. Was genau ist Methodenüberladung?
Es ist möglich, dass zwei oder mehr Prozeduren denselben Namen haben. Sie sollten jedoch unterschiedliche Parameter, eine unterschiedliche Anzahl von Parametern, unterschiedliche Arten oder beides haben. Diese werden als überladene Methoden bezeichnet, und die Funktion wird als Methodenüberladung bezeichnet.
13. Was genau ist Methodenüberschreibung?
Die objektorientierte Programmierung beinhaltet die Idee des Überschreibens von Methoden. Es handelt sich um eine Sprachfunktion, mit der eine Unterklasse oder untergeordnete Klasse eine angepasste Implementierung einer Methode anbieten kann, die bereits von einer ihrer Oberklassen oder übergeordneten Klassen bereitgestellt wird.
14. Was genau ist eine Oberklasse?
Eine Oberklasse, oft auch als Basisklasse bezeichnet, ist ein Klassentyp, der als Elternteil einer anderen Klasse oder Klassen fungiert. Die Klasse Auto hat beispielsweise eine Unterklasse namens Fahrzeug.
15. Was genau ist eine Unterklasse?
Eine Unterklasse ist eine Unterklasse einer anderen Klasse. Ein Lieferwagen ist beispielsweise eine Fahrzeugunterklasse oder abgeleitete Klasse.
16. Was genau ist statischer Polymorphismus?
Zur Kompilierzeit findet eine Art von Polymorphismus statt, der als statischer Polymorphismus (statische Bindung) bekannt ist. Das Überladen von Methoden ist eine Art Polymorphismus zur Kompilierzeit.
17. Was genau ist dynamischer Polymorphismus?
Eine Art von Polymorphismus, der zur Laufzeit aufgelöst wird, wird Laufzeitpolymorphismus genannt, auch bekannt als dynamischer Polymorphismus (dynamische Bindung). Das Überschreiben von Methoden ist ein Beispiel für Laufzeitpolymorphismus.
18. Beschreiben Sie den Begriff eines Konstruktors.
Ein Konstruktor ist eine bestimmte Methode einer Klasse, die automatisch aufgerufen wird, wenn eine Klasseninstanz erstellt wird. Wenn Sie auf die Klasse zugreifen, wird sie mit demselben Namen wie die Klasse erstellt und alle ihre Mitglieder initialisiert. Die Hauptmerkmale eines Konstruktors sind wie folgt:
Es gibt keinen Rückgabetyp für Konstruktoren.
Das Überladen von Konstruktoren ist möglich.
Es ist nicht erforderlich, einen Konstruktor anzugeben; das.NET Framework erledigt dies automatisch.
19. Was genau sind die Zugriffsmodifikatoren?
In objektorientierten Sprachen sind Schlüsselwörter Zugriffsmodifikatoren oder Zugriffsspezifizierer. Es hilft bei der Konfiguration von Klassen, Methoden und der Zugänglichkeit anderer Mitglieder.
20. Was genau ist ein Destruktor?
Ein Destruktor ist eine Methode zum Freigeben der einem Objekt zugewiesenen Ressourcen. Wenn ein Objekt zerstört wird, wird diese Methode automatisch aufgerufen.
21. Was genau ist hybride Vererbung?
Die hybride Vererbung ist eine Art der Vererbung, die durch das Mischen mehrerer Formen der Vererbung wie Einfachvererbung, Mehrfachvererbung usw. entsteht.
22. Was genau ist hierarchische Vererbung?
Bei der hierarchischen Vererbung erben mehrere Unterklassen von einer Elternklasse. Eine Art der Vererbung, bei der zahlreiche Klassen von einer einzigen Eltern- oder Basisklasse abstammen, wird als hierarchische Vererbung bezeichnet. Beispielsweise kann die Klasse Obst Unterklassen wie „Apfel“, „Mango“, „Banane“, „Kirsche“ usw. enthalten.
23. Was sind die Nachteile der Erbschaft?
Es verlängert und verkompliziert den Ausführungsprozess. Es erfordert auch einen Wechsel zwischen verschiedenen Klassen. Die Eltern- und Kindklassen sind immer untrennbar miteinander verbunden.
Änderungen am Lehrplan würden Überarbeitungen sowohl für die Eltern als auch für die Klasse des Kindes erfordern. Die Vererbung muss sorgfältig implementiert werden oder die Ergebnisse werden falsch sein.
24. Was genau ist eine Ausnahme?
Eine Ausnahme ist ein Vorfall, der den normalen Betrieb des Codes stört. Um die Ausführung fortzusetzen, können Sie diese Ausnahmen in Java behandeln. In Java gibt es viele Arten von vordefinierten Ausnahmen, und eine Ausnahmebehandlung wird bereitgestellt, um die ausgelösten Ausnahmen mithilfe von Try-Catch-Blöcken zu steuern.
25. Was genau ist Ausnahmebehandlung und was sind ihre Vorteile?
Die wichtigste Methode in Java für den Umgang mit unerwarteten Laufzeitfehlern ist die Ausnahmebehandlung. Damit können Sie Laufzeitfehler kontrollieren, die während der Programmausführung auftreten.
Zu den Vorteilen der Ausnahmebehandlung gehört die Möglichkeit, den regulären Programmablauf beizubehalten, während Ausnahmen verwaltet werden. Wenn beispielsweise in einem Abschnitt des Programms ein Fehler auftritt, hat dies keine Auswirkungen auf den Rest des Programms, wenn wir die Ausnahme mit Try-Catch-Blöcken behandeln.
26. Was genau sind virtuelle Funktionen?
Virtuelle Funktionen sind auch in den Funktionen der Elternklasse enthalten und werden von der Unterklasse überschrieben. Diese Routinen unterstützen das Erreichen von Laufzeitpolymorphismus.
27. Was genau ist die Freundesfunktion?
Eine Friend-Funktion ist eine Funktion, die zu einer Klasse gehört und Zugriff auf ihre öffentlichen, privaten oder geschützten Daten hat. Wenn die Funktion außerhalb der Klasse definiert ist, können diese Daten nicht abgerufen werden. Die Zugriffskontrollschlüsselwörter private, public und protected haben keinen Einfluss auf eine Friend-Deklaration, die überall in der Klassendeklaration gemacht werden kann.
28. Was genau ist Garbage Collection?
Garbage Collection (GC) ist ein Element von Programmiersprachen wie C# und Java, das als Speicherwiederherstellungssystem dient. Eine Garbage-Collection-Engine (GC) ist eine Komponente einer Programmiersprache, die eine automatisierte Freigabe von Speicherplatz für Objekte ermöglicht, die die Anwendung nicht mehr verwendet.
29. Was genau ist Kopplung?
Es bezeichnet Situationen, in denen sich verschiedene Klassen aufeinander verlassen und Wissen teilen. Eine starke Verbindung entsteht, wenn eine Klasse detailliertes Wissen über eine andere Klasse hat. Sie können die Sichtbarkeit von Klassen, Methoden oder Variablen mithilfe von Zugriffsmodifikatoren angeben. Schnittstellen werden verwendet, um eine schwächere Kopplung bereitzustellen.
30. Was genau ist Kohäsion?
Die Art und Weise, wie eine Komponente eine bestimmte Aktivität ausführt, wird als ihre Kohäsion bezeichnet. Ein starker, kohärenter Ansatz erledigt einfach die definierte Aufgabe, während eine schwache, kohäsive Methode die einzelne Aufgabe in mehrere kleinere Aufgaben aufteilt und diese dann erledigt.
Das Java.io-Paket ist ziemlich kohärent, das java.util-Paket jedoch nicht.
31. Beschreiben Sie einen try/catch-Block.
Wenn ein Programm aufgrund von falschem Code oder Daten auf einen Fehler stößt, geben „try“ und „catch“ an, wie es damit umgeht. Ein Try-Block ist der Name des Teils des Codes, wenn Ausnahmen auftreten. Ein catch-Block wird verwendet, um Ausnahmen von try-Blöcken zu erfassen und zu behandeln.
32. Beschreiben Sie einen letzten Block.
Der funktionierende Teil des Codes des try-Schlüsselworts wird zuletzt angezeigt. Es bezeichnet den Code, der immer unmittelbar nach dem Versuch ausgeführt wird, und alle Catch-Blöcke, bevor die Methode abgeschlossen ist. Der letzte Block wird immer ausgeführt, unabhängig davon, ob eine Ausnahme ausgelöst oder abgefangen wird.
33. Was genau ist eine Schnittstelle?
Eine Schnittstelle ist eine Kombination aus abstrakten Methoden und einem benutzerdefinierten Datentyp. Eine Klasse implementiert eine Schnittstelle und erbt die abstrakten Funktionen der Schnittstelle.
Eine Klasse stellt die Eigenschaften und Verhaltensweisen eines Objekts dar, während eine Schnittstelle die Verhaltensweisen umfasst, die eine Klasse implementiert. Die Schnittstelle stellt das „Was“ dar, während die Klasse das „Wie“ vermittelt.
34. Was genau ist Komposition?
Die Zusammensetzung kann verwendet werden, um eine Verbindung zu erreichen. Es demonstriert eine starke Objektverknüpfung zwischen den abhängigen und unabhängigen Objekten im Gegensatz zur Aggregation. Das abhängige Objekt existiert in diesem Fall nicht und wird entfernt, wenn das übergeordnete Objekt gelöscht wird.
35. Was genau ist Konstruktorverkettung?
Konstruktorverkettung ist eine Technik zum Aufrufen eines Konstruktors von einem anderen in Bezug auf die aktuelle Objektreferenz. Es gibt zwei Möglichkeiten:
- Der Konstruktor in der aktuellen Klasse kann mit dem Schlüsselwort „this“ referenziert werden.
- Das Schlüsselwort „super“ wird verwendet, um den Konstruktor aus der Basisklasse aufzurufen.
Zusammenfassung
Objektorientiertes Programmieren erfordert, über die Struktur des Programms nachzudenken und sich im Voraus vorzubereiten. Untersuchen, wie die Anforderungen in grundlegende, wiederverwendbare Klassen unterteilt werden können, die zum Erstellen von Instanzen von Dingen verwendet werden können.
Insgesamt sorgt das Umarmen von OOP für eine Verbesserung Datenstrukturen und Wiederverwendbarkeit, was langfristig Zeit spart. Sehen Hashdorks Interview-Reihe um Hilfe bei der Vorbereitung auf das Vorstellungsgespräch.
Hinterlassen Sie uns einen Kommentar