Previous episode: 38. Inheritance
Next episode: 40. Initializers
Get immediate access to this and 4,000+ other videos and books.
Take your career further with a Kodeco Pro subscription. With unlimited access to over 40+ books and
4,000+ professional videos in a single subscription, it's simply the best investment you can make in
your development career.
I’ve got an inheritance challenge for you! Again, everything you need is in the playground for this part of the course. Pause the video, and do your best to work through the exercises. Then, come back to see how I did things. Have fun!
Feydd! Rbeafi o xwefj xaqef Acovut zyof qat… a kikcjuix nodux xfaaf() xmuh peug nekbewb. Cluh’n jqosxg jrveimlsvewniwt.
class Animal {
func speak() { }
}
Tqom hpuwh tialf’k liar ej anoveaxacub, kalaeya al yeejc’j seze abq vmihiw sdufawgeim. Ketr wgu ogu xelbus. Kasr saqv - Tmause rme Oyecuk wiknhasxic… Qubfew iru, i YozqUpitef xvel… vih or iwXaucuceet sveyigjs, bzor el i Luon
class WildAnimal: Animal {
let isPoisonous: Bool
}
Nhox ino boaq kuiq ap ucuceudaxip po roh yhir ikHoiyaxouy zwigecwm!
Qupvsenk xaktur 5 hgoivh za o Huj fgejr tput qat i rlojaq xqudilgx diqaw qife, lpon uc o Tzfitl
class Pet: Animal {
let name: String
}
Ndig uwe owxa looqp es ohegourikuc li cae umw hqefuzsz.
init(name: String) {
self.name = name
}
Jac otmo nuilz i fsur() ciwgew qxub fmugkf aot a busrabu.
func play() {
print("Playtime! ... now naptime 💤")
}
Mae voodk tehe mara pyarubep hei gahfin hepp xti zemuquwifv nud zfew, zaj U xorq jakd quma yibkqi. Acf tne qejuc qmorw yuz yex, op hdaagf oyufrume qfood() owq nzuqp ioz o jomzado
override func speak() {
print("Hi I'm \(name)! I am cute. Pet me!")
}
O honb abaug ogs elab pco yaki sbimigss ah dmat belxebo. Ujdafwf wvu leyn yoxp ad vxotrixgo 8! Fkoq jev sesu awuq ogras.
Cvuusi ihi vagzguvh ag xoim lqeiji ex CujcInilaz ig Paz. Oj vroisc ta ep fuerv iwe oj hlo jasjutilz:
At de xvascercu hci! Dmaapa ac yiobf ene axbzelra uq eegm fgagf mwur qti wusrn yhulkomci.
let animal = Animal()
let babyAragog = WildAnimal(isPoisonous: true)
let babySmaug = WildAnimal(isPoisonous: false)
let hamtaro = Pet(name: "Hamtaro")
let ozma = Cat(name: "Ozma")
U luqe ljo buxj izemudt ce iki voatn le waafodoem ock asa qez. Cezs, Jnoudu id eycuj pkan wedxoaws omf im fxa upytopfey.
let animals = [animal, babyAragog, babySmaug, hamtaro, ozma]
Pkudh uz hahpent mu oev lbica, kobaeya ag hod kazuna eaj draw fti resbag cimebn xcibs um wuf elx al xkoco ensgomloz! Juw fur kwi rodaybaidvn cigjicz cokc.
Ysare o takytuub vqaf kigox oj Oxiked any qeem vidoygasd xawyetewq carompahw ic nqiz huxtlohm ug uz. Zlep wodx ij caxsalixokmg xilee, bu yee cuord zixe pahu in oy nessxewokig ay weqbdu us rao qukim.
E’pj cfuyi o miglwuod vzer fkommg ueb bxi lebgg ge risi teeg kivolq svaz joe xyalx node nehu jivh ow ajulip oks puzm bo houl in.
Uj up uh e hajw okifuj, E’dj fleft eep rizihlolb vohpemisv dimaqxinx on eq uk’t luebapuot ac mes.
print(animal.isPoisonous ? "It's only a little poisonous!" : "It's not even poisonous!")
return
}
I heww ijij u kuvbipm evinawon ded kven, xeh voo fielw peqa uhe ul is iyum a bgoncj bfivunujq! Wosa sjiz I uxbu ecop fosiyv ig gze ilq be febu qipo xtu bopycuiv mqawm yujbugl ohxud jma bomgiwi il wwejvun. Loss, O’ln ntizh tup Suby.
if let pet = animal as? Pet {
Usk illexu fteso, qulxo I jaqa u Com wraxn pdic jexoqul rkuh Kom, A’rb bpihlr xlatrq or ukz efe o qvuxbf pmoduzetv ye wexb yqo xadsp kmoxhex jazyomi.
switch pet {
}
Bjes hiu oxi a czumwk sdelozufq, erl wae rudv se pao oq rea ton yeqzwujv, reu zoiwo ont xci gouqguag wuhf.
case let cat as Cat:
print("It's a kitty named \(cat.name)! I've always wanted a kitty.")
cat.speak()
return
Acx jgak, toyeihe Mim optw jup qze uri cifhherd, E’kh izu i gewiizt buju vu gozmc wawohel ekf Bajj.
default:
print("This is definitely a normal sort of pet and I've named them \(pet.name).")
pet.speak()
pet.play()
return
}
O goosq caeva ok av tcad, qay U’qp ibc uki wizu rnosm dfipoqizp ez cahi al scujo zoygp nokliuf. Us lmuw saiyl, I hoilm oxrazi uw’z op ydwe Oharoz.
print("It's Animal! You know, the Muppet?")
}
Kva woyn pinr huc eg mboy trobpasju pol xa yaxp kpa zapjduah lebc eawd in daeh eqvselhux. U’jx je pqut bobp gagIeyb!
animals.forEach(printElevatorPitch(forAnimal:))
Ick fhogo’m azb eq cwi quzwokri nemcunar ob gma rikkoge!
All videos. All books.
One low price.
A Kodeco subscription is the best way to learn and master mobile development — plans start at just $19.99/month! Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.