Dart Academy · Lekcja

Konstruktory domyślne i parametryzowane

Inicjalizowanie pól podczas tworzenia obiektów

Lekcja 1 z 413 kroki

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 constructor

Konstruktor 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); // Rex

Kilka 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. ✨

Bezpłatny start

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

  1. Konstruktory domyślne i parametryzowane
  2. Nazwane konstruktory dla jasnej intencji
  3. Listy inicjalizujące i przekierowywanie
  4. Konstruktory factory i const
← Powrót do Dart Academy