Junior
Was ist der Unterschied zwischen einer statischen Methode und einer Instanzmethode?
sobes.tech KI
Antwort von AI
Eine statische Methode gehört zur Klasse und wird aufgerufen, ohne eine Instanz des Objekts zu erstellen. Die Instanzmethode gehört zu einer Instanz der Klasse und wird über das erstellte Objekt aufgerufen.
Hauptunterschiede:
| Kriterium | Statische Methode | Instanzmethode |
|---|---|---|
| Zugehörigkeit | Zur Klasse | Zur Instanz der Klasse |
| Aufruf | Über den Klassennamen | Über das Objekt der Instanz |
| Zugriff auf Daten | Nur auf statische Mitglieder der Klasse | Auf statische Mitglieder und Instanzdaten |
| Schlüsselwort | static |
Nicht vorhanden (Standard) |
using System;
public class MyClass
{
// Statisches Feld
public static string StaticData = "This is static data";
// Instanzfeld
public string InstanceData = "This is instance data";
// Statische Methode
public static void StaticMethod()
{
Console.WriteLine("Statische Methode aufgerufen.");
Console.WriteLine(StaticData); // Zugriff auf statisches Feld
// Console.WriteLine(InstanceData); // Fehler: Kein Zugriff auf Instanzfeld
}
// Instanzmethode
public void InstanceMethod()
{
Console.WriteLine("Instanzmethode aufgerufen.");
Console.WriteLine(StaticData); // Zugriff auf statisches Feld
Console.WriteLine(InstanceData); // Zugriff auf Instanzfeld
}
}
public class Program
{
public static void Main(string[] args)
{
// Aufruf der statischen Methode über den Klassennamen
MyClass.StaticMethod();
// Erstellen einer Instanz der Klasse
MyClass myObject = new MyClass();
// Aufruf der Instanzmethode über das Objekt
myObject.InstanceMethod();
}
}