wygoda Init w Swift

Khuong Pham
Khuong Pham

Obserwuj

Może 23, 2017 · 2 min czytać

klasy, struktury i wyliczenia potrzebują co najmniej jednej pustej metody init do inicjalizacji ich wystąpień.

dla konstrukcji i wyliczeń ich konstruktor zadeklarował już domyślnie.

jeśli piszemy klasę, powinniśmy ją wyraźnie zadeklarować.

dobrze, prawda?

ale klasa ma dziedziczenie, co oznacza, że może dziedziczyć swoje super klasy metody, właściwości i inne cechy. Przejdźmy do następnego kodu poniżej

mamy podklasę klasy B – A klasy A. Dodaliśmy zmienną i dodaliśmy inicjalizator, aby ustawić wartość b, aby się skompilowała. Można się spodziewać, że B odziedziczył inicjalizator A, init(a: Int). Ale tak nie jest. skąd A’s init(a: Int) wie, jak przypisać wartość do zmiennej b, która dodała B? Nie jest. więc nie możemy zainicjować instancji Bza pomocą inicjalizatora, który nie może zainicjować wszystkich naszych wartości, w ten sposób:

więc jeśli chcę tylko zainicjalizować wartość a lub b, z domyślną wartością reszty. Jak to możliwe?

wygoda init nam pomoże, dodaj ten kod

mamy więc bardzo wygodny sposób inicjalizacji instancji B.

to jest to! Mam nadzieję, że spodoba ci się ten artykuł, dzięki za przeczytanie i do zobaczenia następnym razem.