Menu
Coddy logo textTech

Konstruktoren

Teil des Abschnitts Objektorientierte Programmierung der C#-Journey von Coddy — Lektion 7 von 70.

Ein Konstruktor ist eine spezielle Methode, die ausgeführt wird, wenn Sie ein Objekt erstellen. Er initialisiert die Eigenschaften und Felder des Objekts.

Standardkonstruktor ohne Parameter

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    
    // Standardkonstruktor
    public Book()
    {
        Title = "Unknown";
        Author = "Unknown";
    }
}

Parametrisierter Konstruktor

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    
    // Konstruktor mit Parametern
    public Book(string title, string author)
    {
        Title = title;
        Author = author;
    }
}

Konstruktor-Überladung - mehrere Konstruktoren

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    public int Pages { get; set; }
    
    // Konstruktor mit zwei Parametern
    public Book(string title, string author)
    {
        Title = title;
        Author = author;
        Pages = 0;
    }
    
    // Konstruktor mit drei Parametern
    public Book(string title, string author, int pages)
    {
        Title = title;
        Author = author;
        Pages = pages;
    }
}

Konstruktor-Verkettung mit this

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    public int Pages { get; set; }
    
    // Hauptkonstruktor
    public Book(string title, string author, int pages)
    {
        Title = title;
        Author = author;
        Pages = pages;
    }
    
    // Ruft den Hauptkonstruktor mit Standardseitenanzahl auf
    public Book(string title, string author) : this(title, author, 0)
    {
    }
}

Erstellen von Objekten mit verschiedenen Konstruktoren

Book book1 = new Book("1984", "George Orwell");
Book book2 = new Book("Harry Potter", "J.K. Rowling", 500);

Konstruktoren haben denselben Namen wie die Klasse und keinen Rückgabetyp. Sie werden automatisch ausgeführt, wenn Sie das Schlüsselwort new verwenden. Sie können mehrere Konstruktoren mit unterschiedlichen Parametern haben (Überladung).

challenge icon

Aufgabe

Mittel

Erstellen Sie drei Konstruktoren für die Product Klasse unter Verwendung von Konstruktor-Überladung und Verkettung:

  • Ein Konstruktor mit 3 Parametern: name, price und stock
  • Ein Konstruktor mit 2 Parametern: name und price (stock ist standardmäßig 0)
  • Ein Standardkonstruktor ohne Parameter (name = "Unknown", price = 0, stock = 0)

Verwenden Sie Konstruktor-Verkettung mit this, um Code-Duplizierung zu vermeiden.

Spickzettel

Ein Konstruktor ist eine spezielle Methode, die ausgeführt wird, wenn Sie ein Objekt erstellen. Er initialisiert die Eigenschaften des Objekts.

Konstruktoren haben denselben Namen wie die Klasse und keinen Rückgabetyp. Sie werden automatisch ausgeführt, wenn Sie das Schlüsselwort new verwenden.

Standardkonstruktor ohne Parameter:

public class Book
{
    public string Title { get; set; }
    
    public Book()
    {
        Title = "Unknown";
    }
}

Parametrisierter Konstruktor:

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    
    public Book(string title, string author)
    {
        Title = title;
        Author = author;
    }
}

Konstruktor-Überladung - mehrere Konstruktoren mit unterschiedlichen Parametern:

public class Book
{
    public string Title { get; set; }
    public int Pages { get; set; }
    
    public Book(string title)
    {
        Title = title;
        Pages = 0;
    }
    
    public Book(string title, int pages)
    {
        Title = title;
        Pages = pages;
    }
}

Konstruktor-Verkettung mit this, um Code-Duplizierung zu vermeiden:

public class Book
{
    public string Title { get; set; }
    public int Pages { get; set; }
    
    public Book(string title, int pages)
    {
        Title = title;
        Pages = pages;
    }
    
    public Book(string title) : this(title, 0)
    {
    }
}

Erstellen von Objekten mit verschiedenen Konstruktoren:

Book book1 = new Book("1984", "George Orwell");
Book book2 = new Book("Harry Potter", "J.K. Rowling", 500);

Probier es selbst

using System;

class Program
{
    static void Main()
    {
        string name = Console.ReadLine();
        decimal price = decimal.Parse(Console.ReadLine());
        int stock = int.Parse(Console.ReadLine());
        
        Product product1 = new Product(name, price, stock);
        Product product2 = new Product();
        Product product3 = new Product("Keyboard", 79.99m);
        
        Console.WriteLine($"Product 1: {product1.Name} - ${product1.Price} (Stock: {product1.Stock})");
        Console.WriteLine($"Product 2: {product2.Name} - ${product2.Price} (Stock: {product2.Stock})");
        Console.WriteLine($"Product 3: {product3.Name} - ${product3.Price} (Stock: {product3.Stock})");
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung