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()); // 25Dodaj 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
- Pisanie pierwszego rozszerzenia
- Rozszerzenia dla generyków
- Statyczne elementy rozszerzeń i konflikty
- Typy rozszerzeń jako opakowania bez kosztu