0Pricing
Dart Academy · Lekcja

Pisanie pierwszego rozszerzenia

Dodawanie nowych metod do wbudowanego typu

Pisanie pierwszego rozszerzenia 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.

Metody, których nie można dodawać

Czy zdarzyło się Państwu życzyć sobie, aby int miał przydatną metodę, której po prostu nie ma? Nie mogą Państwo edytować wbudowanej klasy, ale Dart daje inną możliwość.

Poznaj rozszerzenie

Rozszerzenie pozwala dodać nowe metody do istniejącego typu bez tworzenia podklasy i modyfikowania jego kodu źródłowego. 🎁

extension on String {
  // new methods go here
}

Podstawowa postać

Wpisują Państwo extension Name on Type, a następnie dodają metody wewnątrz nawiasów klamrowych. Nazwa należy do Państwa, a typ to typ, który rozszerzają Państwo.

extension NumberParsing on String {
  int doubled() => int.parse(this) * 2;
}

this oznacza odbiorcę

W rozszerzeniu this odnosi się do wartości, na której wywołali Państwo metodę — dokładnie tak jak wewnątrz zwykłej metody klasy.

extension on int {
  int squared() => this * this;
}

Wywołuj jak prawdziwą metodę

Po zdefiniowaniu metoda sprawia wrażenie całkowicie natywnej. Wywołują ją Państwo za pomocą kropki, tak jak metody dostarczane wraz z danym typem.

print(5.squared()); // 25

Dodaj getter zamiast metody

Rozszerzenia mogą również dodawać gettery. Po pominięciu nawiasów otrzymują Państwo przejrzysty, przypominający właściwość sposób odczytu dowolnej wartości.

extension on int {
  bool get isEven2 => this % 2 == 0;
}
print(4.isEven2);

Rozszerzenia są statyczne

Rozstrzyganie odbywa się w czasie kompilacji na podstawie typu statycznego. W czasie działania oryginalna klasa nie jest w żaden sposób zmieniana.

Nazwa jest opcjonalna

Mogą Państwo napisać nawet nienazwane rozszerzenie. Nadal będzie działać, ale nazwa ułatwia późniejsze ukrywanie go lub importowanie w razie potrzeby.

extension on double {
  String money() => "$" + toStringAsFixed(2);
}

Jedna idea na rozszerzenie

Powiązane funkcje pomocnicze warto grupować pod konkretną nazwą. Małe, dobrze nazwane rozszerzenia są czytelniejsze niż jedno ogromne rozszerzenie zawierające wszystko.

extension StringCasing on String {
  String shout() => toUpperCase() + "!";
}

Nie można dodawać pól

Rozszerzenia dodają metody i gettery, ale nie nowe pola instancji. W oryginalnym obiekcie nie ma miejsca, w którym można by je przechowywać.

Dlaczego to jest potężne

Rozszerzenia zapewniają czytelne i łatwe do znalezienia funkcje pomocnicze bez klas opakowujących. Codzienne typy zyskują dokładnie takie słownictwo, jakiego potrzebuje aplikacja.

Szybkie sprawdzenie

Sprawdźmy podstawową składnię rozszerzenia.

Podsumowanie: pierwsze rozszerzenie

Dowiedzieli się Państwo, że extension on Type dodaje metody i gettery do istniejących typów, używa this jako odbiorcy i jest rozstrzygane statycznie. 🚀

Często zadawane pytania

Czy lekcja „Pisanie pierwszego rozszerzenia” jest bezpłatna?

Tak — pełny tekst „Pisanie pierwszego rozszerzenia” 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 „Pisanie pierwszego rozszerzenia”?

Dodawanie nowych metod do wbudowanego typu Ć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 „Pisanie pierwszego rozszerzenia”?

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. Pisanie pierwszego rozszerzenia
  2. Rozszerzenia dla generyków
  3. Statyczne elementy rozszerzeń i konflikty
  4. Typy rozszerzeń jako opakowania bez kosztu
← Powrót do Dart Academy