0Pricing
Dart Academy · Lekcja

Gettery i settery

Udostępnianie obliczanych i chronionych właściwości

Gettery i settery to bezpłatna lekcja Dart Academy na CoddyKit. To lekcja 3 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.

Poza zwykłymi polami

Czasami potrzebują Państwo właściwości obliczanej lub chronionej. Dart oferuje gettery i settery, które kontrolują sposób odczytu i zapisu wartości.

Czym jest getter

Getter z zewnątrz wygląda jak pole, ale wykonuje kod, aby utworzyć jego wartość. Definiuje się go za pomocą słowa kluczowego get.

int get area => width * height;

Gettery obliczają wartości

Getter świetnie nadaje się do wartości wyprowadzanych z innych pól. Odczytuje się go zwykłą notacją kropkową, bez nawiasów.

class Box {
  int w = 2, h = 3;
  int get area => w * h;
}

Wywoływanie gettera

Dostęp do gettera uzyskuje się tak samo jak do pola. Kod wewnątrz wykonuje się za każdym razem, więc zawsze odzwierciedla najnowsze dane.

var b = Box();
print(b.area); // 6

Czym jest setter

Setter wykonuje kod podczas przypisywania wartości. Definiuje się go za pomocą słowa kluczowego set i jednego parametru odbierającego dane wejściowe.

set width(int value) {
  _w = value;
}

Settery sprawdzają dane wejściowe

Setter może sprawdzić wartość przed jej zapisaniem. Można odrzucać nieprawidłowe dane, ograniczać zakresy lub rejestrować zmiany bezpośrednio podczas przypisania.

set age(int v) {
  if (v >= 0) _age = v;
}

Prywatne pola pomocnicze

Nazwy zaczynające się od podkreślenia są prywatne dla biblioteki. Setter często kontroluje prywatne pole pomocnicze, takie jak _age.

int _age = 0;
int get age => _age;

Wywoływanie settera

Wartość do settera przypisuje się tak jak do pola, używając znaku równości. Dart przekazuje to przypisanie przez kod sprawdzający.

var p = Person();
p.age = 25;

Getter bez settera

Zdefiniuj tylko getter, aby utworzyć właściwość tylko do odczytu. Kod zewnętrzny może ją odczytywać, ale nigdy nie może jej przypisać wartości.

String get fullName => "$first $last";

Dlaczego gettery i settery

Pozwalają później zmienić wewnętrzny sposób przechowywania danych bez naruszania kodu wywołującego. Publiczna właściwość pozostaje taka sama, a logika kryje się za nią. 🔐

Przykład właściwości obliczanej

Getter świetnie sprawdza się przy formatowaniu. Połącz pola w przyjazny dla użytkownika tekst, który wywołujący odczytuje jak każdą zwykłą właściwość.

String get label => "$name: $score pts";

Szybkie sprawdzenie

Chcesz zdefiniować właściwość, którą inni mogą odczytywać, ale nigdy przypisywać. Co należy zdefiniować?

Podsumowanie: Gettery i Settery

Dowiedziałeś się, że gettery obliczają i udostępniają wartości, settery kontrolują przypisania, a razem w przejrzysty sposób ukrywają szczegóły wewnętrzne. 🎉

Często zadawane pytania

Czy lekcja „Gettery i settery” jest bezpłatna?

Tak — pełny tekst „Gettery i settery” 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 „Gettery i settery”?

Udostępnianie obliczanych i chronionych właściwości Ć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 3 z 4.

Ile czasu zajmuje lekcja „Gettery i settery”?

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. Definiowanie klasy z polami
  2. Metody instancji i this
  3. Gettery i settery
  4. Elementy statyczne i stałe klasowe
← Powrót do Dart Academy