Konstruktory domyślne i parametryzowane
Inicjalizowanie pól podczas tworzenia obiektów
Konstruktory domyślne i parametryzowane to bezpłatna lekcja Dart Academy na CoddyKit. To lekcja 1 z 4. 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 Dart Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Dart Academy zawiera 4 lekcji w sumie.
Działanie konstruktora
Konstruktor to specjalna metoda, która tworzy nowy obiekt i ustawia jego stan początkowy, gdy używasz nazwy klasy. 🏗️
Konstruktor domyślny
Jeśli nie napiszesz żadnego konstruktora, Dart automatycznie zapewni bezpłatny konstruktor domyślny, który nie przyjmuje argumentów i tworzy pusty obiekt.
class Dog {}
var d = Dog(); // uses the default constructorKonstruktor sparametryzowany
Dodaj parametry, aby wywołujący mógł od razu przekazać wartości. Konstruktor sparametryzowany przypisuje te wartości do pól obiektu.
class Dog {
String name;
Dog(this.name);
}Słowo kluczowe this w parametrach
Skrót this.name w parametrze oznacza pobranie argumentu i zapisanie go bezpośrednio w polu o tej samej nazwie, dzięki czemu oszczędzasz jedną linię kodu.
class Dog {
String name;
Dog(this.name);
}Bez skrótu this
Możesz też wykonać przypisanie ręcznie w treści konstruktora. W tym przypadku this odróżnia pole od parametru, gdy mają takie same nazwy.
class Dog {
String name;
Dog(String name) {
this.name = name;
}
}Tworzenie obiektu
Wywołaj klasę jak funkcję i przekaż argumenty w odpowiedniej kolejności. Dart uruchomi konstruktor i zwróci gotową instancję.
var d = Dog("Rex");
print(d.name); // RexKilka parametrów w kolejności
Wymień parametry od lewej do prawej — wywołujący musi przekazać je w tej samej pozycyjnej kolejności. To świetne rozwiązanie dla dwóch lub trzech jasno określonych pól.
class Point {
int x, y;
Point(this.x, this.y);
}Dodawanie logiki do treści konstruktora
Treść konstruktora może wykonać dodatkową konfigurację po ustawieniu pól, na przykład sprawdzanie poprawności lub rejestrowanie informacji. Ta treść powinna być krótka i skupiona na jednym zadaniu.
class Box {
int size;
Box(this.size) {
print("Box made: $size");
}
}Konstruktory nie mają typu zwracanego
Nigdy nie zapisujesz typu zwracanego ani nie zwracasz wartości. Konstruktor zawsze zwraca nowy obiekt, więc wystarczy sama nazwa.
class Cat {
Cat(); // no void, no return
}Jeden konstruktor bez nazwy na klasę
Klasa może mieć tylko jeden konstruktor bez nazwy. Potrzebujesz większej liczby sposobów tworzenia obiektu? Następnie poznasz konstruktory nazwane.
Wartości domyślne znikają po dodaniu konstruktora
W chwili zadeklarowania dowolnego konstruktora Dart przestaje automatycznie zapewniać konstruktor bez argumentów. Jeśli nadal chcesz tworzyć pusty obiekt, dodaj go samodzielnie.
class User {
String name;
User(this.name);
User.empty() : name = "";
}Szybkie sprawdzenie
Szybkie sprawdzenie dotyczące konstruktorów domyślnych i sparametryzowanych.
Podsumowanie: Tworzenie obiektów
Poznałeś konstruktory: bezpłatny konstruktor domyślny, konstruktory sparametryzowane, skrót this oraz zasadę, że zadeklarowanie konstruktora usuwa konstruktor domyślny. Następne będą konstruktory nazwane. ✨
Ucz się Dart dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Konstruktory domyślne i parametryzowane” jest bezpłatna?
Tak — pełny tekst „Konstruktory domyślne i parametryzowane” 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 Dart Academy, przejdź na CoddyKit PRO. Kurs Dart Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Konstruktory domyślne i parametryzowane”?
Inicjalizowanie pól podczas tworzenia obiektów Ćwiczysz Dart 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ąć Dart Academy?
Nie wymagamy żadnego doświadczenia. Dart 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 4.
Ile czasu zajmuje lekcja „Konstruktory domyślne i parametryzowane”?
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 Dart Academy?
Tak. Każda lekcja Dart 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
- Konstruktory domyślne i parametryzowane
- Nazwane konstruktory dla jasnej intencji
- Listy inicjalizujące i przekierowywanie
- Konstruktory factory i const