Pola, właściwości automatyczne i inicjalizatory obiektów
Definiuj pola i właściwości automatyczne oraz twórz obiekty za pomocą zwięzłych inicjalizatorów obiektów.
Pola, właściwości automatyczne i inicjalizatory obiektów to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 1 z 3. 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 3 lekcji w sumie.
Przegląd podstaw klas
Cel: Tworzenie prostych klas.
- Pola przechowują surowe dane
- Właściwości automatyczne udostępniają dane w przejrzysty sposób
- Inicjalizatory obiektów ustawiają wartości podczas tworzenia
Pola w klasie
Pola to zmienne wewnątrz klasy. W przypadku publicznych danych bezpieczniejsze są właściwości.
using System;
// Fields store raw data inside a class
public class Player
{
public string name; // field (usually prefer properties for public APIs)
public int level;
}
public class Program
{
public static void Main(string[] args)
{
Player p = new Player();
p.name = "Ada";
p.level = 1;
Console.WriteLine("Player " + p.name + " level " + p.level);
}
}
Właściwości automatyczne
Właściwości automatyczne udostępniają dane za pomocą get/set bez konieczności deklarowania pola. Można ustawić proste wartości domyślne.
using System;
// Auto-properties generate a hidden backing field
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
public int Pages { get; set; } = 0; // auto-property initializer (C# 6)
}
public class Program
{
public static void Main(string[] args)
{
Book b = new Book();
b.Title = "Clean Code";
b.Author = "Robert C. Martin";
b.Pages = 464;
Console.WriteLine(b.Title + " by " + b.Author + " (" + b.Pages + " pages)");
}
}
Inicjalizatory obiektów
Inicjalizatory obiektów ustawiają właściwości podczas tworzenia, dzięki czemu kod jest krótki i czytelny.
using System;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
// Object initializer calls set-accessors after construction
Person p = new Person { Name = "Alan", Age = 30 };
Console.WriteLine(p.Name + " (" + p.Age + ")");
}
}
Pola a właściwości
Wskazówka:
- Używaj prywatnych pól do przechowywania danych wewnętrznych.
- Udostępniaj publiczne właściwości, aby później można było dodać walidację bez zmieniania kodu wywołującego.
- Używaj jasnych i prostych nazw.
Pola i właściwości razem
Połącz prywatne pole z właściwością, aby kontrolować zapisy (proste niezmienniki).
using System;
// Private fields + public properties pattern
public class Product
{
private int _stock; // field (internal storage)
public string Name { get; set; } // property (public API)
public int Stock // property with simple guard
{
get { return _stock; }
set
{
if (value < 0) value = 0; // simple safety for beginners
_stock = value;
}
}
}
public class Program
{
public static void Main(string[] args)
{
Product p = new Product { Name = "Pen", Stock = 5 };
p.Stock = -3; // setter clamps to 0
Console.WriteLine(p.Name + " stock = " + p.Stock);
}
}
Pojęcie właściwości automatycznej
Podsumowanie
Podsumowanie: Definiuj dane za pomocą pól i udostępniaj je przez właściwości automatyczne. Używaj inicjalizatorów obiektów, aby ustawiać wartości podczas tworzenia.
Często zadawane pytania
Czy lekcja „Pola, właściwości automatyczne i inicjalizatory obiektów” jest bezpłatna?
Tak — pełny tekst „Pola, właściwości automatyczne i inicjalizatory obiektów” 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 3 lekcji w sumie.
Co nauczysz się w „Pola, właściwości automatyczne i inicjalizatory obiektów”?
Definiuj pola i właściwości automatyczne oraz twórz obiekty za pomocą zwięzłych inicjalizatorów obiektów. Ć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 1 z 3.
Ile czasu zajmuje lekcja „Pola, właściwości automatyczne i inicjalizatory obiektów”?
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
- Pola, właściwości automatyczne i inicjalizatory obiektów
- Konstruktory i elementy statyczne
- Hermetyzacja i niezmienniki