Was ist der Unterschied zwischen Klasse und Struktur?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Klasse und Struktur ist, dass die Class ist ein Datentyp vom Referenztyp, während Structure ein Datentyp vom Werttyp ist.

In der Programmierung ist eine Variable ein Speicherbereich zum Speichern von Daten. Jede Variable hat einen bestimmten Datentyp, den sie speichern kann. Im Wesentlichen gibt es zwei Datentypen als Werttyp und Referenztyp. Beim Werttyp wird ein Wert direkt zugewiesen. Darüber hinaus sind int, float und double einige Beispiele für Datentypen vom Werttyp. Auf der anderen Seite speichern Datentypen vom Referenztyp nicht die eigentlichen Daten. Stattdessen wird eine Referenz auf die Variable gespeichert. Klasse und Struktur sind zwei Programmierkonzepte. Wie oben erwähnt, ist Class ein Datentyp vom Referenztyp, während Structure ein Datentyp vom Werttyp ist.

Klasse, Struktur

Was ist Klasse

In der objektorientierten Programmierung (OOP) ist alles ein Objekt. Objekte werden mithilfe einer Klasse erstellt. Eine Klasse ist eine Blaupause, um ein Objekt zu erstellen. Außerdem besteht eine Klasse aus Attributen und Methoden. Attribute werden auch als Eigenschaften bezeichnet und definieren die Eigenschaften eines Objekts. Die Methoden definieren das Verhalten des Objekts. Darüber hinaus wird das Erstellen eines Objekts mithilfe einer Klasse als Instanziierung bezeichnet.

Abbildung 1: UML-Diagramm einer Klasse

Member einer Klasse sind die Attribute und Methoden einer Klasse. Hauptsächlich handelt es sich um drei Zugriffsspezifizierer, die das Verstecken von Daten in OOP unterstützen: öffentlich, privat und geschützt. Erstens sind die öffentlichen Mitglieder für alle Klassen sichtbar. Zweitens sind die privaten Member nur innerhalb derselben Klasse sichtbar. Drittens sind die geschützten Member innerhalb des Pakets und durch die Unterklassen sichtbar.

Darüber hinaus enthält eine Klasse auch eine spezielle Funktion namens Konstruktor. Es hilft, ein neues Objekt zu erstellen. Außerdem hat es den gleichen Namen wie class und hat keinen Rückgabetyp. Es kann ein Standardkonstruktor oder ein parametrisierter Konstruktor sein.

Eine Beispielklasse ist wie folgt.

Klasse Mitarbeiter{

öffentliche int-ID;

öffentlicher Stringname;

}

Das Hauptprogramm ist wie folgt.

Mitarbeiter e = neuer Mitarbeiter();

e.id=101;

e.name= "Ann";

Gemäß obigem Programm hat die Klasse zwei Eigenschaften: id und name. Sie sind öffentlich und für jede andere Klasse zugänglich. Im Hauptprogramm erstellt der Konstruktor ein Objekt vom Typ Employee. Dann werden die Werte an id und name übergeben.

Was ist Struktur?

Struktur ist eine einzelne Variable, die mehrere Datentypen enthält. Mit anderen Worten, es ist eine Sammlung von Variablen unterschiedlicher Datentypen, die alle unter einem Namen referenzieren. Die Strukturdeklaration bildet eine Vorlage, die hilft, eine Instanz der Struktur zu erstellen. Ein Beispiel ist wie folgt.

Mitarbeiter strukturieren{

öffentliche int-ID;

öffentlicher Stringname;

};

Das Hauptprogramm ist wie folgt.

Angestellter e;

e.id=101;

e.name= "Ann";

Gemäß obigem Programm enthält die Struktur zwei Eigenschaften: id und name. Im Hauptprogramm deklariert die Anweisung ‚Employee e‘‚e‘als Strukturtyp Employee. Dann werden id und name Werte zugewiesen.

Unterschied zwischen Klasse und Struktur

Definition

Eine Klasse ist eine Blaupause, die die Variablen und Methoden definiert, die allen Objekten einer bestimmten Art gemeinsam sind. Es ist ein Datentyp vom Referenztyp. Umgekehrt ist eine Struktur ein Datentyp vom Werttyp, der verwandte Daten verschiedener Datentypen enthalten kann. Daher liegt der Hauptunterschied zwischen Class und Structure im Datentyp.

Nachlass

Eine Klasse kann von anderen Klassen oder Strukturen erben, während eine Struktur keine anderen Klassen oder Strukturen erben kann.

Zerstörer

Destruktor ist auch ein weiterer Unterschied zwischen Class und Structure. Die Klasse kann einen Destruktor haben, aber die Struktur hat keinen Destruktor.

Instanziierung

Darüber hinaus besteht ein weiterer Unterschied zwischen Class und Structure darin, dass eine Klasse ein Objekt unter Verwendung eines neuen Schlüsselworts instanziiert, während eine Struktur ein Objekt instanziiert, ohne ein neues Schlüsselwort zu verwenden.

Beispiel

Stichwort

Außerdem definiert das Schlüsselwort „class“ eine Klasse. Das Schlüsselwort „struct“ definiert eine Struktur.

Standardzugriffsspezifizierer

Außerdem sind die Member in einer Klasse privat, wenn keine Zugriffsspezifizierer deklariert sind. Wenn in einer Struktur keine Zugriffsbezeichner deklariert sind, sind die Member öffentlich.

Abschluss

Bei der Programmierung ist es notwendig, Daten zu speichern. Eine Variable ist ein Ort, der zum Speichern von Daten verwendet wird. Es gibt zwei Arten von Variablen als Werttyp und Referenztyp. Der grundlegende Unterschied zwischen Class und Structure besteht darin, dass eine Klasse ein Datentyp vom Referenztyp ist, während eine Struktur ein Datentyp vom Werttyp ist.

Referenz:

1. „C#-Klassen.“ Www.tutorialspoint.com, hier verfügbar.2. „C#-Strukturen.“ www.tutorialspoint.com, hier verfügbar.

Bild mit freundlicher Genehmigung:

1. „Oop-uml-class-example“ Von Der ursprüngliche Uploader war Esap bei der englischen Wikipedia. – Übertragen von en.wikipedia zu Commons (CC BY-SA 3.0) über Commons Wikimedia

Was ist der Unterschied zwischen Klasse und Struktur?