Was ist der Unterschied zwischen Klasse und Struktur?

Das Hauptunterschied zwischen Klasse und Struktur ist das Klasse ist ein Referenztypdatentyp, während die Struktur ein Werttypdatentyp ist.

Bei der Programmierung ist eine Variable ein Speicherbereich zum Speichern von Daten. Jede Variable hat einen bestimmten Datentyp, den sie speichern kann. Es gibt hauptsächlich zwei Datentypen als Werttyp und Referenztyp. Bei der Wertart 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 Referenztypdatentypen die tatsächlichen Daten nicht. Stattdessen wird ein Verweis auf die Variable gespeichert. Klasse und Struktur sind zwei Programmierkonzepte. Wie oben erwähnt, ist Class ein Referenztypdatentyp, während Structure ein Werttypdatentyp ist.

Wichtige Bereiche

1. Was ist Klasse?
     - Definition, Funktionalität
2. Was ist Struktur?
    - Definition, Funktionalität
3. Was ist der Unterschied zwischen Klasse und Struktur?
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

Klasse, Struktur

Was ist Klasse?

Alles ist ein Objekt in der objektorientierten Programmierung (OOP). Objekte werden mit einer Klasse erstellt. Eine Klasse ist ein Bauplan, um ein Objekt zu erstellen. Zusätzlich 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. Das Erstellen eines Objekts mithilfe einer Klasse wird außerdem als Instantiierung bezeichnet.

Abbildung 1: UML-Diagramm einer Klasse

Mitglieder einer Klasse sind die Attribute und Methoden einer Klasse. Im Wesentlichen handelt es sich dabei um drei Zugriffspezifizierer, die das Verbergen 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 Mitglieder nur innerhalb derselben Klasse sichtbar. Drittens sind die geschützten Member innerhalb des Pakets und bei den Unterklassen sichtbar.

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

Eine Beispielklasse ist wie folgt.

Klassenmitarbeiter

public int id;

öffentlicher String-Name;

Das Hauptprogramm ist wie folgt.

Mitarbeiter e = neuer Mitarbeiter ();

e.id = 101;

e.name = "Ann";

Gemäß dem obigen Programm verfügt die Klasse über 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 Mitarbeiter. 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 handelt sich um eine Sammlung von Variablen unterschiedlicher Datentypen, die alle mit einem Namen referenzieren. Die Strukturdeklaration bildet eine Vorlage, mit deren Hilfe eine Instanz der Struktur erstellt werden kann. Ein Beispiel ist wie folgt.

struct Mitarbeiter

public int id;

öffentlicher String-Name;

;

Das Hauptprogramm ist wie folgt.

Mitarbeiter e;

e.id = 101;

e.name = "Ann";

Gemäß dem obigen Programm enthält die Struktur zwei Eigenschaften: ID und Name. Die Anweisung 'Employee e' deklariert im Hauptprogramm 'e' als Strukturtyp Employee. Dann werden Werte an ID und Name übergeben.

Unterschied zwischen Klasse und Struktur

Definition

Eine Klasse ist ein Bauplan, der die Variablen und Methoden definiert, die allen Objekten einer bestimmten Art gemeinsam sind. Es ist ein Datentyp des Referenztyps. Umgekehrt ist eine Struktur ein Datentyp des Werttyps, der verwandte Daten verschiedener Datentypen enthalten kann. Daher besteht der Hauptunterschied zwischen Klasse und Struktur im Datentyp.

Erbe

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 Klasse und Struktur. Klasse kann einen Destruktor haben, aber Struktur hat keinen Destruktor.

Instantiation

Ein weiterer Unterschied zwischen Klasse und Struktur besteht darin, dass eine Klasse ein Objekt mit einem neuen Schlüsselwort instanziiert, während eine Struktur ein Objekt ohne Verwendung eines neuen Schlüsselworts instanziiert.

Beispiel

Darüber hinaus ist die Instanz einer Klasse ein Objekt, während die Instanz einer Struktur eine Strukturvariable ist. Dies ist also ein weiterer Unterschied zwischen Klasse und Struktur. 

Stichwort

Außerdem definiert das Schlüsselwort "Klasse" eine Klasse. Das Schlüsselwort "struct" definiert eine Struktur.

Standardzugriffsspezifizierer

Wenn in einer Klasse keine Zugriffsspezifizierer deklariert sind, sind die Mitglieder außerdem privat. Wenn in einer Struktur keine Zugriffsspezifizierer deklariert sind, sind die Mitglieder öffentlich.

Fazit

Bei der Programmierung müssen Daten gespeichert werden. Eine Variable ist ein Ort, an dem Daten gespeichert werden. Als Werttyp und Referenztyp gibt es zwei Variablentypen. Der grundlegende Unterschied zwischen Klasse und Struktur besteht darin, dass eine Klasse ein Referenztypdatentyp ist, während eine Struktur ein Werttypdatentyp ist.

Referenz:

1. „C # -Klassen“. Www.tutorialspoint.com, hier erhältlich.
2. "C # -Strukturen". Www.tutorialspoint.com, erhältlich hier.

Bildhöflichkeit:

1. “Oop-uml-class-example” Von Der ursprünglich hochladende Benutzer war Esap in der Wikipedia auf Englisch. - Von en.wikipedia an Commons (CC BY-SA 3.0) über Commons Wikimedia übertragen