Unterschied zwischen Klasse und Schnittstelle

Unterschied zwischen Klasse und Schnittstelle

Schlüsselunterschied - Klasse vs Schnittstelle
 

Objektorientierte Programmierung (OOP) ist ein häufiges Paradigma in der Softwareentwicklung. Es hilft, reale Szenarien mit Klassen und Objekten zu programmieren. Eine Klasse ist eine Blaupause, um ein Objekt zu erstellen. Der Programmierer kann eine Klasse mit Eigenschaften und Methoden erstellen. Ein Schüler und Lehrer sind Objekte. Das Erstellen eines Objekts ist bekannt als Instanziierung. OOP verwendet auch Schnittstellen. Schnittstellen und Klasse mögen ähnlich erscheinen, aber sie haben einen Unterschied. In diesem Artikel wird der Unterschied zwischen einer Klasse und einer Schnittstelle erörtert. Der Schlüsselunterschied Zwischen einer Klasse und einer Schnittstelle ist das Eine Klasse ist ein Referenztyp, der ein Blaupause ist, um ein Objekt zu instanziieren, während die Schnittstelle ein Referenztyp ist, der nicht zum Sofortieren eines Objekts verwendet werden kann.

INHALT

1. Überblick und wichtiger Unterschied
2. Was ist Klasse
3. Was ist Schnittstelle
4. Ähnlichkeiten zwischen Klasse und Schnittstelle
5. Seite für Seite Vergleich - Klasse vs Schnittstelle in tabellarischer Form
6. Zusammenfassung

Was ist Klasse?

In OOP wird alles als Objekt angesehen. Es ist nicht möglich, ein Objekt ohne Klasse zu erstellen. Eine Klasse ist eine Blaupause, um ein Objekt zu erstellen. Beim Bau eines Hauses zieht der Architekt den Plan an. Der Plan ähnelt einer Klasse. Das Haus ähnelt dem Objekt. Die Klasse ist der Plan, ein Objekt zu erstellen. Ein Objekt ist das, was mit der Klasse erstellt wurde.

Die Klasse enthält die Eigenschaften und Methoden. Ein Schüler kann Eigenschaften wie Name, Note, Indexnummer haben. Ein Schüler 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 ist 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 ist Schüler.

Schüler S1 = neuer Schüler ();

Dieser S1 ist das Objekt. Das Schlüsselwort „neu“ wird verwendet, um Speicher für die Eigenschaften zuzuweisen. Eine Klasse hat auch einen Konstruktor zur Initialisierung von Eigenschaften oder Variablen.

Klassenmitglieder wie Eigenschaften und Methoden haben Zugriffsmodifikatoren. Zugriffsspezifizierer beschreiben die Zugänglichkeit und Sichtbarkeit dieser Mitglieder zu anderen Klassen. Mitglieder der Klasse können Zugriffsspezifizierer wie öffentlich, privat und geschützt haben. Öffentliche Mitglieder sind nach anderen Klassen zugänglich. Private Mitglieder sind nur für die Klasse zugänglich. Geschützte Mitglieder sind innerhalb der Klasse und relevante Unterklassen zugänglich.

Was ist Schnittstelle?

Abstraktion ist eine Säule der objektorientierten Programmierung. Es soll die Implementierungsdetails verbergen und die Funktionalität dem Benutzer angezeigt werden. Die Abstraktion wird unter Verwendung abstrakter 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 es zwei abstrakte Klassen gibt, sollten die in diesen Klassen deklarierten Methoden implementiert werden. Eine neue Klasse wird verwendet, um diese Methoden zu implementieren. Wenn beide Klassen die gleiche Methode hätten, kann dies zu einem Unklarheitsproblem führen. Programmiersprachen wie Java und C# haben daher eine Schnittstelle.

Schnittstellen enthalten nur die Methodenerklärung. Es gibt keine Implementierungsmethode. Außerdem können Schnittstellen nicht verwendet werden, um Objekte zu erstellen. Sie werden verwendet, um mehrere Erbschaften zu unterstützen und den Code zu sichern.

Die Syntax der Schnittstelle ist wie folgt. Schnittstelle Verwenden Sie das Schlüsselwort "Schnittstelle".

Schnittstelle Schnittstelle_Name

Type Methode1 (Parameter_List);

Typ -Methode2 (Parameter_List);

Nach oben haben Schnittstellen nur die Erklärung. Es gibt keine Definition. Schnittstellen können also keine Objekte instanziieren. Es gibt nur eine abstrakte Ansicht darüber, was die Schnittstelle ist. In der Schnittstelle deklarierte Methoden können von einem oder vielen Klassen implementiert werden. Eine Klasse verwendet das Schlüsselwort "implementieren", um eine Schnittstelle zu implementieren. Siehe unten mit Java geschriebenes Beispiel.

Abbildung 01: Programm unter Verwendung von Schnittstellen

Nach dem obigen Programm sind A und B Schnittstellen. Die Schnittstelle A hat eine Methodenerklärung, die die Summe ist (). Die Schnittstelle B hat eine Methode Deklaration sub (). Klasse C implementiert beide Schnittstellen, die a und b sind. Daher definieren die Klasse C sowohl Summe () als auch Sub () -Methoden. Nach dem Erstellen des Objekts vom Typ C C ist es möglich, beide Methoden SUM () und sub () aufzurufen.

In der Schnittstelle deklarierte Methoden müssen immer öffentlich sein, da die Implementierungsklassen sie definieren. Eine Schnittstelle kann auch von einer anderen Schnittstelle erben.

Was sind die Ähnlichkeiten zwischen Klasse und Schnittstelle?

  • Beide sind Referenztypen.
  • Beide beziehen sich auf objektorientierte Programmierung.

Was ist der Unterschied zwischen Klasse und Schnittstelle?

Klasse vs Schnittstelle

Eine Klasse ist ein Referenztyp, der ein Blaupause ist, um ein Objekt zu erstellen. Eine Schnittstelle ist ein Referenztyp, der nicht instanziiert werden kann.
 Objekt -Instanziierung
Eine Klasse wird verwendet, um ein Objekt zu instanziieren. 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 Variablen zur Initialisierung 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 die Implementierungsklassen sie definieren.

Zusammenfassung -Klasse vs Schnittstelle

Klassen und Schnittstellen werden in der objektorientierten Programmierung häufig verwendet. Der Unterschied zwischen einer Klasse und einer Schnittstelle besteht darin, dass eine Klasse ein Referenztyp ist, der ein Blaupause ist, um ein Objekt zu instanziieren, und eine Schnittstelle ist ein Referenztyp, mit dem nicht verwendet werden kann, um ein Objekt zu instanziieren. Eine Klasse kann viele Schnittstellen implementieren. Aber es kann nur eine Superklasse verlängern. In der Schnittstelle kann viele Schnittstellen erben, aber es kann keine Implementierung geben. Beide haben ihre Bedeutung. Der Programmierer kann sie gemäß der Entwicklungssoftware verwenden.

Laden Sie die PDF -Klasse und die Schnittstelle herunter

Sie können die PDF -Version dieses Artikels herunterladen und ihn für Offline -Zwecke gemäß Citation Note verwenden. Bitte laden Sie die PDF -Version hier den Unterschied zwischen Klasse und Schnittstelle herunter

Referenz:

1.Tutorialspitze.com. „Java -Objekt und Klassen.", Der Punkt. Hier verfügbar 
2.Navinreddy20. Die Schnittstelle in Java mit einem Beispiel Java von Navin Reddy, 11. Dezember. 2012. Hier verfügbar