kényelem init Swift-ben

Khuong Pham
Khuong Pham

kövesse

május 23, 2017 * 2 perc olvasni

az osztályoknak, struktúráknak és felsorolásoknak legalább egy üres init metódusra van szükségük a példányok előkészítéséhez.

a struktúrák és felsorolások esetében a konstruktoruk már implicit módon deklarált.

az osztályokról, ha egy osztályt írunk, kifejezetten deklarálnunk kell.

Oké, jó, ugye?

de egy osztálynak öröksége van, ami azt jelenti, hogy örökölheti a szuperosztály módszereit, tulajdonságait és egyéb jellemzőit. Lépjünk tovább az alábbi Következő kódra

van egy B-a osztályú alosztályunk. Hozzáadtunk egy változót, és hozzáadtunk egy inicializálót, hogy b értéket állítsunk be, így lefordít. Várható, hogy B örökölte A ‘ s inicializáló, init(a: Int). De nem. honnan tudja a Ainit(a: Int), hogyan kell értéket rendelni a b változóhoz, amelyet B adott hozzá? Nem. tehát nem tudunk inicializálni egy Bpéldányt olyan inicializálóval, amely nem tudja inicializálni az összes értéket, így:

tehát, ha csak a vagy b értéket akarom inicializálni, a többi alapértelmezett értékével. Hogy tehette?

kényelem init segít nekünk, add hozzá ezt a kódot

tehát van egy nagyon kényelmes módja a Bpéldány inicializálásának.

ez az! Remélem, hogy élvezni fogja ezt a cikket, köszönöm, hogy elolvasta, és legközelebb találkozunk.