Unterschied zwischen Klassen- und Instanzvariablen

Inhaltsverzeichnis:

Unterschied zwischen Klassen- und Instanzvariablen
Unterschied zwischen Klassen- und Instanzvariablen

Video: Unterschied zwischen Klassen- und Instanzvariablen

Video: Unterschied zwischen Klassen- und Instanzvariablen
Video: Instanzvariablen, Klassenvariablen und Konstruktor 2024, November
Anonim

Schlüsselunterschied – Klassen- und Instanzvariablen

Die meisten modernen Programmiersprachen unterstützen die objektorientierte Programmierung. Ein Objekt enthält Daten oder Attribute. Ein Objekt hat bestimmte Verh altensweisen. Sie werden als Methoden bezeichnet. Ein Programm kann mithilfe von Objekten modelliert werden. Eine Software ist eine Sammlung von Programmen. Daher kann eine Software mithilfe von Objekten entworfen und implementiert werden. Objekte werden mithilfe von Methoden interagiert. Die objektorientierte Programmierung verbessert die Modularität und Wiederverwendbarkeit von Code. Es sollte eine Klasse zum Erstellen von Objekten geben. Eine Klasse ist eine Blaupause zum Erstellen eines Objekts. Daher ist ein Objekt eine Instanz einer Klasse. Bei der Programmierung mussten die Daten gespeichert werden. Daten werden in Speicherorten gespeichert. Diese Speicherstellen werden Variablen genannt. Eine Mitgliedsvariable ist eine Variable, die einem bestimmten Objekt zugeordnet ist. Es ist für alle seine Methoden zugänglich. Es gibt zwei Arten von Mitgliedsvariablen, nämlich Klassenvariablen und Instanzvariablen. Der Hauptunterschied zwischen Klassen- und Instanzvariablen besteht darin, dass, wenn es nur eine Kopie der Variablen gibt, die mit allen Instanzen der Klasse geteilt wird, diese Variablen Klassenvariablen genannt werden, und wenn jede Instanz der Klasse ihre eigene Kopie der Variablen hat, dann diese Variablen werden Instanzvariablen genannt.

Was sind Klassenvariablen?

Wenn es nur eine Kopie der Variablen gibt, die mit allen Instanzen der Klasse geteilt wird, werden diese Variablen als Klassenvariablen bezeichnet. Klassenvariablen sind Variablen, die innerhalb der Klasse außerhalb jeder Methode deklariert werden. Diese Variablen enth alten das Schlüsselwort static. Diese Variablen sind der Klasse zugeordnet, nicht dem Objekt.

Unterschied zwischen Klassen- und Instanzvariablen
Unterschied zwischen Klassen- und Instanzvariablen

Abbildung 01: Klassenvariablen und Instanzvariablen

Beziehen Sie sich auf den folgenden Codeabschnitt mit Klassenvariablen.

öffentliche Klasse Angestellter {

public static int id;

öffentliches statisches Doppelgeh alt;

}

öffentlicher Klassentest {

public static void main(string args){

Mitarbeiter e1=neuer Mitarbeiter();

Mitarbeiter e2=neuer Mitarbeiter();

}

}

Gemäß obigem Programm sind e1 und e2 Objekte vom Typ Mitarbeiter. Beide haben die gleiche Kopie des Speichers. Wenn e1.id=1 ist und e2.id gedruckt wird, ergibt sich auch der Wert 1. Es ist möglich, die ID- und Geh altswerte unter Verwendung des Mitarbeiterklassennamens wie Mitarbeiter zu drucken.id, Employee.salary etc.

Was sind Instanzvariablen?

Wenn jede Instanz der Klasse ihre eigene Kopie der Variablen hat, werden diese Variablen als Instanzvariablen bezeichnet. Siehe untenstehendes Programm.

öffentliche Klasse Angestellter {

public int id;

öffentliches Doppelgeh alt;

}

öffentlicher Klassentest{

public static void main(string args){

Mitarbeiter e1=neuer Mitarbeiter();

e1.id=1;

e1.salary=20000;

Mitarbeiter e2=neuer Mitarbeiter();

e2.id=2;

e2. Geh alt="25000;

}

}

Im Hauptprogramm sind e1 und e2 Verweise auf Objekte vom Typ Employee. Es ist möglich, Werte für ID und Geh alt mit dem Punktoperator zuzuweisen, z. B. e1.id, e1. Geh alt usw. Die ID und das Geh alt in der Klasse Employee werden als Instanzvariablen bezeichnet.e1 und e2 sind separate Objekte. Jedes Objekt hat eine separate Kopie von Instanzvariablen. Der e1 wird eine separate ID und ein separates Geh alt haben und e2 wird eine separate ID und ein separates Geh alt haben. Die Instanzvariablen werden also erstellt, wenn das Objekt oder die Instanz erstellt wird.

Was sind die Ähnlichkeiten zwischen Klassen- und Instanzvariablen?

  • Beides sind Variablentypen.
  • Beide Variablen befinden sich innerhalb einer Klasse, aber außerhalb jeder Methode.

Was ist der Unterschied zwischen Klassen- und Instanzvariablen?

Klassenvariablen vs. Instanzvariablen

Klassenvariablen sind Variablen, bei denen es nur eine Kopie der Variablen gibt, die mit allen Instanzen der Klasse geteilt wird. Instanzvariablen sind Variablen, wenn jede Instanz der Klasse ihre eigene Kopie der Variablen hat.
Assoziation
Klassenvariablen sind der Klasse zugeordnet. Instanzvariablen sind Objekten zugeordnet.
Anzahl Kopien
Klassenvariablen erstellen eine Kopie für alle Objekte. Instanzvariablen erstellen separate Kopien für jedes Objekt.
Schlüsselwörter
Klassenvariablen sollten das Schlüsselwort static haben. Instanzvariablen benötigen kein spezielles Schlüsselwort wie static.

Zusammenfassung – Klassen- vs. Instanzvariablen

Objektorientierte Programmierung ist ein wichtiges Programmierparadigma. Es hilft, eine Software mithilfe von Objekten zu modellieren. Objekte werden mithilfe von Klassen erstellt. Die Objekterstellung wird auch als Instanziierung bezeichnet. Eine Klasse stellt einen Entwurf bereit, um ein Objekt zu erstellen. Eine Mitgliedsvariable ist eine Variable, die einem bestimmten Objekt zugeordnet ist. Es ist für alle seine Methoden zugänglich. Es gibt zwei Arten von Mitgliedsvariablen, Klassenvariablen und Instanzvariablen. Der Unterschied zwischen Klassen- und Instanzvariablen besteht darin, dass, wenn es nur eine Kopie der Variablen gibt, die mit allen Instanzen der Klasse geteilt wird, diese Variablen Klassenvariablen genannt werden, und wenn jede Instanz der Klasse ihre eigene Kopie der Variablen hat, dann diese Variablen werden Instanzvariablen genannt.

Laden Sie die PDF-Version von Klassen vs. Instanzvariablen herunter

Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitationshinweis für Offline-Zwecke verwenden. Bitte laden Sie die PDF-Version hier herunter: Unterschied zwischen Klassen- und Instanzvariablen

Empfohlen: