Objektorientiertes Programmieren (Object Oriented Programming, OOP) ist ein allgemeines Paradigma in der Softwareentwicklung. Es hilft, Szenarien aus der realen Welt mithilfe von Klassen und Objekten zu programmieren. Eine Klasse ist ein Bauplan, um ein Objekt zu erstellen. Der Programmierer kann eine Klasse mit Eigenschaften und Methoden erstellen. Ein Schüler und ein Lehrer sind Objekte. Ein Objekt erstellen ist bekannt als Instantiation. OOP verwendet auch Schnittstellen. Schnittstellen und Klassen mögen ähnlich aussehen, aber sie unterscheiden sich. Dieser Artikel beschreibt den Unterschied zwischen einer Klasse und einer Schnittstelle. Das Hauptunterschied zwischen einer Klasse und einer Schnittstelle ist das Eine Klasse ist ein Referenztyp, der eine Blaupause ist, um ein Objekt zu instantiieren, während die Schnittstelle ein Referenztyp ist, der nicht zum Instantiieren eines Objekts verwendet werden kann.
1. Übersicht und Schlüsseldifferenz
2. Was ist Klasse?
3. Was ist Schnittstelle?
4. Ähnlichkeiten zwischen Klasse und Schnittstelle
5. Side-by-Side-Vergleich - Klassenvergleich in tabellarischer Form
6. Zusammenfassung
In OOP wird alles als Objekt betrachtet. Es ist nicht möglich, ein Objekt ohne Klasse zu erstellen. Eine Klasse ist ein Bauplan, um ein Objekt zu erstellen. Beim Bau eines Hauses zeichnet der Architekt den Plan. Der Plan ähnelt einer Klasse. Das Haus ist dem Objekt ähnlich. Die Klasse ist der Plan zum Erstellen eines Objekts. Ein Objekt wird mit der Klasse erstellt.
Die Klasse enthält die Eigenschaften und Methoden. Ein Student kann Eigenschaften wie Name, Note, Indexnummer haben. Ein Student kann Methoden wie Lesen, Gehen, Lernen haben. Eine Klasse wird mit den erforderlichen Eigenschaften und Methoden erstellt.
Die Syntax zum Erstellen einer Klasse in vielen Programmiersprachen lautet wie folgt. Es wird mit der Schlüsselwortklasse erstellt.
class class_name
// Eigenschaften
// Methoden
Programmiersprachen wie C # und Java folgen einer ähnlichen Syntax, um ein Objekt mit einer Klasse zu erstellen. Angenommen, der Klassenname lautet Student.
Student s1 = neuer Student ();
Dieses s1 ist das Objekt. Mit dem Schlüsselwort "new" wird Speicher für die Eigenschaften zugewiesen. Eine Klasse verfügt auch über einen Konstruktor zum Initialisieren von Eigenschaften oder Variablen.
Klassenmitglieder wie Eigenschaften und Methoden verfügen über Zugriffsmodifizierer. Zugriffsbezeichner beschreiben die Zugänglichkeit und Sichtbarkeit dieser Mitglieder für andere Klassen. Mitglieder der Klasse können Zugriffspezifizierer wie öffentlich, privat und geschützt haben. Öffentliche Mitglieder sind für andere Klassen zugänglich. Private Mitglieder sind nur für die Klasse zugänglich. Geschützte Mitglieder sind innerhalb der Klasse und der relevanten Unterklassen zugänglich.
Abstraktion ist eine Säule der objektorientierten Programmierung. Es ist, die Implementierungsdetails auszublenden und die Funktionalität für den Benutzer anzuzeigen. Die Abstraktion wird mit abstrakten Klassen und Schnittstellen erreicht. Eine abstrakte Methode hat keine Implementierung. Eine Klasse, die mindestens eine abstrakte Methode enthält, wird als abstrakte Klasse bezeichnet.
Wenn zwei abstrakte Klassen vorhanden sind, sollten die in diesen Klassen deklarierten Methoden implementiert werden. Eine neue Klasse wird zur Implementierung dieser Methoden verwendet. Wenn beide Klassen dieselbe Methode hätten, könnte dies ein Problem der Mehrdeutigkeit verursachen. Programmiersprachen wie Java und C # verfügen daher über eine Schnittstelle.
Schnittstellen enthalten nur die Deklaration von Methoden. Es gibt keine Implementierungsmethode. Schnittstellen können auch nicht zum Erstellen von Objekten verwendet werden. Sie werden verwendet, um mehrere Vererbungen zu unterstützen und den Code zu sichern.
Die Syntax von Interface lautet wie folgt. Schnittstelle verwenden Sie das Schlüsselwort "Schnittstelle".
Schnittstelle Schnittstellenname
Typ Methode1 (Parameterliste);
Typ Methode2 (Parameterliste);
Schnittstellen haben laut obiger Erklärung nur die Deklaration. Es gibt keine Definition. Daher können Schnittstellen keine Objekte instanziieren. Es gibt nur eine abstrakte Ansicht der Schnittstelle. In der Schnittstelle deklarierte Methoden können von einer oder mehreren Klassen implementiert werden. Eine Klasse verwendet das Schlüsselwort "implement", um eine Schnittstelle zu implementieren. Siehe untenes Beispiel, das mit Java geschrieben wurde.
Abbildung 01: Programm mit Schnittstellen
Gemäß dem obigen Programm sind A und B Schnittstellen. Schnittstelle A hat eine Methodendeklaration, die die Summe () ist. Schnittstelle B hat eine Methodendeklaration sub (). Die Klasse C implementiert die beiden Schnittstellen A und B. Daher definieren Klasse C sowohl sum () - als auch sub () - Methoden. Nach dem Anlegen des Objekts vom Typ C können beide Methoden sum () und sub () aufgerufen werden..
Innerhalb der Schnittstelle deklarierte Methoden müssen immer öffentlich sein, da sie von den implementierenden Klassen definiert werden. Eine Schnittstelle kann auch von einer anderen Schnittstelle erben.
Klasse gegen Schnittstelle | |
Eine Klasse ist ein Referenztyp, der eine Vorlage zum Erstellen eines Objekts ist. | Eine Schnittstelle ist ein Referenztyp, der nicht instanziiert werden kann. |
Objekt-Instantiierung | |
Eine Klasse wird zum Instanziieren eines Objekts verwendet. | Eine Schnittstelle kann nicht instanziiert werden, da die Methoden keine Aktion ausführen können. |
Konstrukteur | |
Eine Klasse enthält einen Konstruktor, um die Variablen zu initialisieren. | Eine Schnittstelle enthält keinen Konstruktor, da sie kaum zu initialisierende Variablen sind. |
Stichwort | |
Eine Klasse verwendet das Schlüsselwort "Klasse".. | Eine Schnittstelle verwendet das Schlüsselwort "Schnittstelle". |
Zugriffsspezifizierer | |
Mitglieder der Klasse können privat, öffentlich und geschützt sein. | Mitglieder der Schnittstelle sollten immer öffentlich sein, da sie von den implementierenden Klassen definiert werden. |
Klassen und Schnittstellen werden häufig in der objektorientierten Programmierung verwendet. Der Unterschied zwischen einer Klasse und einem Interface besteht darin, dass es sich bei einer Klasse um einen Referenztyp handelt, bei dem es sich um einen Bauplan handelt, um ein Objekt zu instanziieren. Das Interface ist ein Referenztyp, der nicht zur Instantiierung eines Objekts verwendet werden kann. Eine Klasse kann viele Schnittstellen implementieren. Es kann jedoch nur eine Superklasse erweitert werden. In interface kann viele Interfaces erben, aber es kann keine Implementierung geben. Beide haben ihre Bedeutung. Der Programmierer kann sie entsprechend der Entwicklungssoftware verwenden.
Sie können die PDF-Version dieses Artikels herunterladen und gemäß dem Zitiervermerk für Offline-Zwecke verwenden. Laden Sie die PDF-Version hier herunter. Unterschied zwischen Klasse und Schnittstelle
1.Tutorialspoint.com. "Java-Objekt und Klassen.", Die Stelle. Hier verfügbar
2.navinreddy20. Die Schnittstelle in Java mit einem Beispiel, Java Von Navin Reddy, 11. Dezember 2012. Hier verfügbar