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!

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!

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
- Czym jest programowanie obiektowe?
- Definiowanie klas i obiektów
- Właściwości i metody
- Konstruktory w C#
- Enkapsulacja i modyfikatory dostępu
- Dziedziczenie: ponowne wykorzystanie kodu
- Polimorfizm i przesłanianie metod