0Pricing
C# Academy · Lektion

Konstruktoren und statische Member

Erstellen Sie Objekte mit Konstruktoren (einschließlich Überladen und Verkettung) und verwenden Sie statische Felder/Methoden für Daten, die von allen Instanzen gemeinsam genutzt werden.

Konstruktoren und statische Member ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 3 Lektionen.

Konstruktoren und static: Überblick

Ziel: Erstellen Sie Objekte sicher und teilen Sie Daten über mehrere Instanzen hinweg.

  • Konstruktoren legen den erforderlichen Zustand fest
  • Überladungen und die Verkettung mit this(...)
  • Statische Felder und Methoden werden von allen Objekten gemeinsam verwendet

Einfacher Konstruktor

Ein Konstruktor wird ausgeführt, wenn Sie new aufrufen, und initialisiert das Objekt.

using System;

// Constructor sets required data on creation
public class User
{
  public string Name { get; private set; }
  public int Age { get; private set; }

  public User(string name, int age)
  {
    Name = name;
    Age = age;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    User u = new User("Ada", 28);
    Console.WriteLine(u.Name + " (" + u.Age + ")");
  }
}

Überladungen und Verkettung

Verwenden Sie Konstruktorüberladungen für mehr Komfort und this(...), um Logik wiederzuverwenden.

using System;

// Overloads let you offer defaults; chain with this(...)
public class Point2D
{
  public int X { get; private set; }
  public int Y { get; private set; }

  public Point2D(int x, int y)
  {
    X = x; Y = y;
  }

  public Point2D(int xy) : this(xy, xy) { } // calls the main constructor
}

public class Program
{
  public static void Main(string[] args)
  {
    Point2D p1 = new Point2D(3, 4);
    Point2D p2 = new Point2D(5); // becomes (5,5)
    Console.WriteLine("p1: " + p1.X + "," + p1.Y);
    Console.WriteLine("p2: " + p2.X + "," + p2.Y);
  }
}

Statische Member

Statische Member werden von allen Instanzen gemeinsam verwendet. Rufen Sie statische Methoden über den Namen des Typs auf.

using System;

// Static members live on the type (one copy shared)
public class Counter
{
  private static int _created = 0;   // shared count
  public int Id { get; private set; }

  public Counter()
  {
    _created = _created + 1;
    Id = _created;
  }

  public static int CreatedCount()
  {
    return _created;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Counter a = new Counter();
    Counter b = new Counter();
    Console.WriteLine("a.Id=" + a.Id + ", b.Id=" + b.Id);
    Console.WriteLine("Total created = " + Counter.CreatedCount());
  }
}

Statischer Konstruktor und Konstanten

Ein statischer Konstruktor wird einmal pro Typ ausgeführt. Verwenden Sie const für Literale zur Compilezeit und static readonly für Werte, die zur Laufzeit festgelegt werden.

using System;

public class AppConfig
{
  public const string AppName = "Demo";      // compile-time constant
  public static readonly DateTime StartedAt; // runtime-initialized once

  // Static constructor: runs once before first use of the type
  static AppConfig()
  {
    StartedAt = DateTime.UtcNow;
  }

  public static string Info()
  {
    return AppName + " started at " + StartedAt.ToString("u");
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine(AppConfig.Info());
    Console.WriteLine(AppConfig.Info()); // static ctor ran only once
  }
}

Tipps

Tipps:

  • Halten Sie Konstruktoren klein und validieren Sie Eingaben frühzeitig.
  • Verwenden Sie Überladungen für häufige Standardwerte und leiten Sie sie an einen einzigen Hauptkonstruktor weiter.
  • Verwenden Sie static, wenn Daten tatsächlich zum Typ gehören (z. B. Zähler und Hilfsmethoden).

Konzept der statischen Member

Kurze Verständnisfrage: Welche Aussage über statische Member ist richtig?

Zusammenfassung

Zusammenfassung: Verwenden Sie Konstruktoren, um den erforderlichen Zustand festzulegen, Überladungen und Verkettungen für mehr Komfort und statische Member für Daten oder Hilfsmethoden, die von allen Objekten gemeinsam verwendet werden.

Häufig gestellte Fragen

Ist die Lektion „Konstruktoren und statische Member“ kostenlos?

Ja — der vollständige Text von „Konstruktoren und statische Member“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Konstruktoren und statische Member“?

Erstellen Sie Objekte mit Konstruktoren (einschließlich Überladen und Verkettung) und verwenden Sie statische Felder/Methoden für Daten, die von allen Instanzen gemeinsam genutzt werden. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C# Academy zu starten?

Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.

Wie lange dauert die Lektion „Konstruktoren und statische Member“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?

Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Felder, automatische Properties und Objektinitialisierer
  2. Konstruktoren und statische Member
  3. Kapselung und Invarianten
← Zurück zu C# Academy