Eine statische Klasse ist eine Klasse, die wir nicht instanziieren können. Das einzige und wichtigste Ziel der statischen Klasse besteht darin, Blaupausen der geerbten Klassen bereitzustellen. Es wird mit Hilfe des Schlüsselworts „static“ in C# erstellt. Die statische Klasse enthält nur statische Mitglieder. Wir können das Objekt für die statische Klasse nicht erstellen. In diesem Thema lernen wir die statische Klasse in C# kennen.
Die statische Klasse in C# besteht aus zwei Arten von Statik, die unten dargestellt sind:
Statische Datenelemente werden durch die Verwendung des Schlüsselworts static deklariert, da die statische Klasse immer die statischen Datenelemente enthält. Der Zugriff auf sie erfolgt auch direkt über den Klassennamen. Der Speicher der statischen Datenelemente wird unabhängig von ihrer Beziehung zum Objekt individuell zugewiesen.
Syntax:
static class NameOfClass { public static name_of_datamember; }
Beispiel:
public class Vehicle { public static int Wheels = 4; public static int GasTank { get { return 23; } } public static void move() { } public static event EventType RunOutOfGas; // Extra non-static fields as well as properties }
Sie werden initialisiert, bevor auf das statische Mitglied zum ersten Mal zugegriffen wird und vor dem statischen Konstruktor, falls einer aufgerufen wird. Um darauf zuzugreifen, verwenden wir den Namen der Klasse anstelle eines Variablennamens.
Die Verwendung des Schlüsselworts static deklariert statische Methoden, da die statische Klasse immer statische Methoden enthält. Diese Methoden können nur auf die statischen Datenelemente zugreifen und nicht auf nicht statische Datenelemente.
Syntax:
static class name_of_class { public static name_of_method() { // code } }
Hier sind die folgenden Beispiele aufgeführt
Code:
/* * C# Program to Check whether the Entered Number is Even or Odd */ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace check1 { class EvenAndOdd { static void Main(string[] args) { int i; if (4 % 2 == 0) // You can enter any number you wish to check for even / odd { Console.Write("Entered Number is an Even Number"); Console.Read(); } else { Console.Write("Entered Number is an Odd Number"); Console.Read(); } } } }
Ausgabe:
Code:
using System; using System.Collections.Generic; using System.Linq; using System.Text; public static class ABC { // declaration of static Method static void details() { Console.Write("Static Method of the class ABC is"); } } // Inheritance of the class ABC which would give an error since static // class cannot be inherited class ABC2 : ABC { public static void Main(String[] args) { } }
Ausgabe:
Erklärung: Im ersten Beispiel gibt es eine statische Klasse namens „Book“, die das Schlüsselwort „static“ verwendet. Die Klasse Book besteht aus statischen Datenelementen namens name, l und t sowie einer statischen Methode namens specs(). Diese Methode der statischen Klasse wird unter Verwendung des Klassennamens, also Book, aufgerufen. specs();. Da uns bereits bekannt ist, dass die statische Klasse nicht aus Objekten besteht, erfolgt der Zugriff auf Datenelemente der Klasse „Book“ über ihren Klassennamen, also „Book.name, Book“. l und Book.t.
Statische Konstruktoren
Statische Konstruktoren sind grundsätzlich bei der Initialisierung der statischen Datenelemente nützlich, im Vergleich zum normalen Konstruktor, d. h. dem nicht statischen Konstruktor, der bei der Initialisierung der nicht statischen Datenelemente nützlich ist.
Funktionen/Regeln:
Sie müssen wissen, dass die Grundkomponenten des Anwendungsspeichers Heap und Stack sind. Ein spezieller Bereich innerhalb des Heaps wird als Hochfrequenz-Heap bezeichnet, in dem statische Elemente gespeichert werden. Statische Mitglieder, die ebenfalls zu nicht statischen Klassen gehören, werden in einem Heap gespeichert und dann von allen Instanzen der Klasse gemeinsam genutzt. Daher werden die von einer Instanz vorgenommenen Änderungen in allen anderen Instanzen widergespiegelt.
Wie Sie sicher bereits wissen, kann das statische Mitglied nur andere statische Mitglieder enthalten, da statische Mitglieder unabhängig von der Erstellung einer Instanz aufgerufen werden. Von nun an können sie nicht mehr auf nicht statische Mitglieder zugreifen.
Das obige ist der detaillierte Inhalt vonStatische Klasse in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!