Unterschied zwischen Klassen und Strukturen

Unterschied zwischen Klassen und Strukturen
Unterschied zwischen Klassen und Strukturen

Video: Unterschied zwischen Klassen und Strukturen

Video: Unterschied zwischen Klassen und Strukturen
Video: Die Subtropen einfach erklärt - Klimazonen 5 2024, Juli
Anonim

Klassen vs. Strukturen

Einige der Hauptkonzepte objektorientierter (OO) Programmiersprachen sind Kapselung, Vererbung und Polymorphismus. Klasse und Struktur sind zwei der OO-Konstrukte/Werkzeuge, die Programmierern helfen, diese Konzepte in den meisten existierenden OO-Programmiersprachen umzusetzen (Java bietet keine Strukturen). Klassen sind eine abstrakte Darstellung von Objekten der realen Welt. Strukturen sind Klassen mit ähnlicher Verwendung sehr ähnlich, haben aber im Vergleich zu Klassen nur wenige Einschränkungen. Sowohl Klassen als auch Strukturen werden verwendet, um ähnliche Datentypen zusammen zu gruppieren.

Was sind Klassen?

Klassen stellen die abstrakte Darstellung von Objekten der realen Welt dar, während die Beziehungen darstellen, wie jede Klasse mit anderen verbunden ist. Sowohl Klassen als auch Beziehungen haben Eigenschaften, die als Attribute bezeichnet werden. Methoden in den Klassen repräsentieren oder definieren das Verh alten dieser Klassen. Methoden und Attribute von Klassen werden als Mitglieder der Klasse bezeichnet. Typischerweise wird die Kapselung erreicht, indem die Attribute privat gemacht werden, während öffentliche Methoden erstellt werden, die für den Zugriff auf diese Attribute verwendet werden können. Ein Objekt ist die Instanz einer Klasse. Die Vererbung ermöglicht dem Benutzer, Klassen (sogenannte Unterklassen) von anderen Klassen (sogenannte Superklassen) zu erweitern. Polymorphie erlaubt dem Programmierer, ein Objekt einer Klasse anstelle eines Objekts ihrer Superklasse zu ersetzen. Typischerweise werden die in der Problemdefinition gefundenen Substantive direkt zu Klassen im Programm. Und ebenso werden Verben zu Methoden. Public, private und protected sind die typischen Zugriffsmodifikatoren, die für Klassen verwendet werden. Ein Klassendiagramm zeigt die Klassen der Systeme, Beziehungen zwischen Klassen und ihre Attribute.

Was sind Strukturen?

Wie oben erwähnt, sind Strukturen Klassen mit ähnlicher Verwendung sehr ähnlich, haben aber etwas eingeschränktere Fähigkeiten als Klassen. Tatsächlich können Klassen als Erweiterung von Strukturen betrachtet werden. Beispielsweise sind Strukturen die gleichen wie Klassen in C++, aber sie haben standardmäßig öffentliche Member. Eine Struktur kann vom Benutzer definiert werden, um einen zusammengesetzten Typ darzustellen. Ähnlich wie Klassen enth alten Strukturen Mitglieder, die zu vielen Typen gehören können. Das Schlüsselwort struct wird verwendet, um eine Struktur in C und C++ zu definieren, während das Schlüsselwort Structure für dasselbe in. NET-Programmiersprachen verwendet wird.

Was ist der Unterschied zwischen Klassen und Strukturen?

Obwohl sowohl Klassen als auch Strukturen ähnliche Konstrukte sind, die in Programmiersprachen zu finden sind, weisen sie feine Unterschiede auf. Normalerweise ist die Klasse eine Erweiterung der Struktur, und daher haben Strukturen einige relative Einschränkungen. Beispielsweise können Strukturen in C++ als Klassen betrachtet werden, aber Mitglieder sind in Klassen nicht standardmäßig öffentlich (anders als in Strukturen). Das bedeutet eigentlich, dass Sie eine Klasse und eine Struktur mit genau den gleichen Eigenschaften definieren können, indem Sie die entsprechenden Zugriffsmodifikatoren in C++ verwenden. In C können Strukturen jedoch keine Funktionen oder überladenen Operationen enth alten. Die Schlüsselwörter class und struct werden verwendet, um eine Klasse bzw. eine Struktur in C++ zu definieren. Bei. NET-Sprachen (C, VB. NET usw.) ist die Klasse ein Referenztyp, während die Struktur ein Werttyp ist. Und normalerweise werden Strukturen für kleinere Objekte verwendet, aber Klassen werden für größere Objekte verwendet, die länger im Speicher geh alten werden.

Empfohlen: