0Pricing
C# Academy · Lekcja

Konstruktory w C#

Dowiedz się, jak inicjalizować obiekty za pomocą konstruktorów w języku C#

Konstruktory w C# to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 4 z 7. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 7 lekcji w sumie.

Wprowadzenie do konstruktorów

Konstruktory w języku C#

Witamy w kolejnej lekcji! W tej lekcji poznają Państwo konstruktory w języku C#, ich przeznaczenie oraz sposoby używania ich do inicjalizowania obiektów. Zaczynajmy!

Konstruktory w C# — ilustracja 1

Czym jest konstruktor?

Czym jest konstruktor?

Konstruktor jest specjalną metodą klasy, która jest automatycznie wywoływana podczas tworzenia obiektu tej klasy. Służy do inicjalizowania danych obiektu lub wykonywania czynności konfiguracyjnych.

Najważniejsze: Konstruktor ma taką samą nazwę jak klasa i nie ma typu zwracanego.

Definiowanie konstruktora

Definiowanie konstruktora

Aby zdefiniować konstruktor, należy utworzyć metodę o takiej samej nazwie jak klasa. Przykład:

Wskazówka: Warto używać konstruktorów, aby mieć pewność, że obiekty są zawsze tworzone w prawidłowym stanie.

using System;

class Car {
    public string Color;

    // Constructor
    public Car() {
        Color = "Red"; // Initialize the Color attribute
    }
}

class Program {
    static void Main() {
        Car myCar = new Car(); // Constructor is automatically called
        Console.WriteLine("Car color: " + myCar.Color); // Outputs: Car color: Red
    }
}

Konstruktory sparametryzowane

Konstruktory sparametryzowane

Konstruktor sparametryzowany umożliwia przekazanie wartości służących do zainicjalizowania danych obiektu podczas jego tworzenia. Przykład:

Najważniejsze: Konstruktory sparametryzowane zapewniają elastyczność podczas inicjalizowania obiektów.

using System;

class Car {
    public string Color;

    // Parameterized Constructor
    public Car(string color) {
        Color = color; // Initialize Color with the passed value
    }
}

class Program {
    static void Main() {
        Car myCar = new Car("Blue"); // Pass "Blue" to the constructor
        Console.WriteLine("Car color: " + myCar.Color); // Outputs: Car color: Blue
    }
}

Konstruktory domyślne

Konstruktory domyślne

Jeśli nie zdefiniowano konstruktora jawnie, język C# udostępnia konstruktor domyślny, który inicjalizuje pola ich wartościami domyślnymi. Przykład:

Wskazówka: Własny konstruktor należy zdefiniować, gdy potrzebna jest określona inicjalizacja.

using System;

class Car {
    public string Color; // Default value is null
}

class Program {
    static void Main() {
        Car myCar = new Car(); // Default constructor is automatically called
        Console.WriteLine("Car color: " + (myCar.Color ?? "Not set")); // Outputs: Car color: Not set
    }
}

Przeciążanie konstruktorów

Przeciążanie konstruktorów

Język C# obsługuje przeciążanie konstruktorów, co oznacza, że klasa może mieć wiele konstruktorów z różnymi listami parametrów. Przykład:

Najważniejsze: Przeciążanie konstruktorów zapewnia elastyczność podczas tworzenia obiektów.

using System;

class Car {
    public string Color;

    // Default Constructor
    public Car() {
        Color = "Red";
    }

    // Parameterized Constructor
    public Car(string color) {
        Color = color;
    }
}

class Program {
    static void Main() {
        Car defaultCar = new Car(); // Calls the default constructor
        Console.WriteLine("Default car color: " + defaultCar.Color); // Outputs: Default car color: Red

        Car customCar = new Car("Green"); // Calls the parameterized constructor
        Console.WriteLine("Custom car color: " + customCar.Color); // Outputs: Custom car color: Green
    }
}

Zadanie praktyczne

Zadanie praktyczne

Proszę utworzyć klasę o nazwie Book z konstruktorem domyślnym, który ustawia tytuł na wartość "Unknown", oraz konstruktorem sparametryzowanym, który przyjmuje tytuł. Proszę wyświetlić tytuł książki dla obu konstruktorów. Przykład:

using System;

class Book {
    public string Title;

    // Default Constructor
    public Book() {
        Title = "Unknown";
    }

    // Parameterized Constructor
    public Book(string title) {
        Title = title;
    }
}

class Program {
    static void Main() {
        Book defaultBook = new Book();
        Console.WriteLine("Default book title: " + defaultBook.Title); // Outputs: Default book title: Unknown

        Book customBook = new Book("C# Programming");
        Console.WriteLine("Custom book title: " + customBook.Title); // Outputs: Custom book title: C# Programming
    }
}

Dobre praktyki dotyczące konstruktorów

Dobre praktyki dotyczące konstruktorów

Oto kilka dobrych praktyk dotyczących używania konstruktorów:

  • Konstruktory powinny być proste i skupiać się na inicjalizacji.
  • Należy unikać złożonej logiki w konstruktorach, aby zachować przejrzystość kodu.
  • Warto używać przeciążania konstruktorów, aby zapewnić elastyczność podczas tworzenia obiektów.

Wskazówka: Konstruktory powinny przygotowywać obiekt tak, aby był w pełni funkcjonalny natychmiast po utworzeniu.

Świetna robota!

Świetna robota!

Gratulacje! Poznali Państwo znaczenie konstruktorów, sposób ich definiowania oraz ich rolę w inicjalizowaniu obiektów. W następnej lekcji omówimy dziedziczenie i dowiemy się, jak skutecznie ponownie używać kodu. Programujmy dalej!

Konstruktory w C# — ilustracja 10

Często zadawane pytania

Czy lekcja „Konstruktory w C#” jest bezpłatna?

Tak — pełny tekst „Konstruktory w C#” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 7 lekcji w sumie.

Co nauczysz się w „Konstruktory w C#”?

Dowiedz się, jak inicjalizować obiekty za pomocą konstruktorów w języku C# Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 7.

Ile czasu zajmuje lekcja „Konstruktory w C#”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czym jest programowanie obiektowe?
  2. Definiowanie klas i obiektów
  3. Właściwości i metody
  4. Konstruktory w C#
  5. Enkapsulacja i modyfikatory dostępu
  6. Dziedziczenie: ponowne wykorzystanie kodu
  7. Polimorfizm i przesłanianie metod
← Powrót do C# Academy