comoditate Init în Swift

Khuong Pham
Khuong Pham

urmați

Mai 23, 2017 · 2 min citit

clasele, structurile și enumerările au nevoie de cel puțin o metodă de inițializare goală pentru a le inițializa pentru pregătirea instanțelor.

pentru structuri și Enumerări, constructorul lor a declarat deja implicit.

despre clase, dacă scriem o clasă, ar trebui să o declarăm Explicit.

Ok, e bine, nu?

dar o clasă are moștenire, ceea ce înseamnă că poate moșteni metodele, proprietățile și alte caracteristici ale clasei superioare. Să trecem la următorul cod de mai jos

avem o subclasă de clasa B – a din clasa A. Am adăugat o variabilă și am adăugat un inițializator pentru a seta o valoare la b, astfel încât să se compileze. S-ar putea să vă așteptați ca B să fi moștenit inițializatorul A, init(a: Int). Dar nu. cum știe Ainit(a: Int) să atribuie o valoare variabilei b pe care B a adăugat-o? Nu. deci nu putem inițializa o instanță B cu un inițializator care nu poate inițializa toate valorile noastre, așa:

deci, dacă vreau doar să inițializez valoarea a sau b, cu o valoare implicită a restului. Cum ar putea?

comoditate inacesta ne va ajuta, adăugați acest cod

deci, avem un mod foarte convenabil de a inițializa o instanță B.

asta e! Sper să vă placă acest articol, mulțumesc pentru lectură și ne vedem data viitoare.