bekvämlighet Init i Swift

Khuong Pham
Khuong Pham

följ

Maj 23 · 2017 * 2 min läs

klasser, strukturer och uppräkningar behöver minst en tom init-metod för att initiera för att förbereda sina instanser.

för strukturer och uppräkningar har deras konstruktör redan förklarat implicit.

om klasserna, om vi skriver en klass, bör vi förklara det uttryckligen.

Ok, det är bra, eller hur?

men en klass har arv, det betyder att den kan ärva sina superklassmetoder, egenskaper och andra egenskaper. Låt oss gå vidare till nästa kod nedan

vi har en klass B – en underklass av klass A. Vi lade till en variabel, och vi lade till en initialiserare för att ställa in ett värde till b så det kommer att kompilera. Du kan förvänta dig att B har ärvt A’s initializer, init(a: Int). Men det gör det inte. hur vet As init(a: Int) hur man tilldelar ett värde till b variabeln som B lagt till? Så vi kan inte initiera en B – instans med en initialiserare som inte kan initiera alla våra värden, som så:

så om jag bara vill initiera A-eller b-värde, med ett standardvärde för resten. Hur kunde det?

bekvämlighet idet hjälper oss, Lägg till den här koden

så vi har ett mycket bekvämt sätt att initiera en B – instans.

det är det! Jag hoppas att du gillar den här artikeln, tack för att du läste och vi ses nästa gång.