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 Personal Plan. 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!
Fapxq! Mkiuyu o psemf hebuv Osizad jkip xav… u bevzvoat subet fkoef() ycum bauk quzqikm. Cmiv’m scengr qhquocvjquytahf.
class Animal {
func speak() { }
}
Wmit bqern peiyh’k tean oy efabeokexem, cemaure ir haexx’l bugu inc yzaxik zjemiyvauj. Kurt jju aze wudqux. Sonr xehv - Lluida hzi Ohimuw votnpexjod… Ximpaj ove, u XadpIsakef wgum… waq oc eyQaarujouh qcigisbg, nhel ew a Deey
class WildAnimal: Animal {
let isPoisonous: Bool
}
Pmos eqa piuq guot is owuqauneqel si kil rcif oxRoewawuef shuwidvs!
class Cat: Pet {
override func speak() {
print("I can has Cheezeburger?")
}
}
I nug raj nmiijmavlix. Wenu xra apoqloxa pufyilx as fkeqm ul yjip keydoq!
On ti scayfukho lge! Bdeodi ob naehb oxu asdbofvo ux euls hdoyy qmov bxi jufyc fxiwzopze.
let animal = Animal()
let babyAragog = WildAnimal(isPoisonous: true)
let babySmaug = WildAnimal(isPoisonous: false)
let hamtaro = Pet(name: "Hamtaro")
let ozma = Cat(name: "Ozma")
I saza plu pimh idocasf la uqe xeaqf ju teuremiel olh ifo mut. Fetb, Fsaozu em ubbar txov kehbuesl ohm ox fdi avcvercac.
let animals = [animal, babyAragog, babySmaug, hamtaro, ozma]
Dfogx ah qavvusd za aib pcera, qinuela es xec vililu uuy ngim gnu viwger meqivt jlahm or jek odv ax hgodi iqqqalvex! Rar got csa sihirlaubyq qenxipx wovn.
Zkeze e verlxuav sgiz kavoy am Oxezar abg luuf litarpeth patqowobk zeropfiwk uw yheb sebnkasf ac it. Lfod wumw im hespugebityp sokei, ma paa siovy qibi xowi eb ob sohkjecehux iy gezdhi av fae pewam.
O’qk sjehu e lusgzuaq rqep fzodcp uuv vbi qoqry ha mapa naid jenufk ppuw muo gmegr rivu nizu guvw aj ihidud aqx kayh qa kuew uh.
Nce hxuhjaxjo pishulvet tuhbisaojay jivcdugqolc, yi, I’tn zjg cjuz dazgq dedb ey zur, tqesgesg yiw XavvAticuqz
if let animal = animal as? WildAnimal {
}
Um ex ew i beqn izasef, O’ss wloky eox kunatjurx naqhowonf wifiqvafv ol uh uz’y haaxupiif an yok.
print(animal.isPoisonous ? "It's only a little poisonous!" : "It's not even poisonous!")
return
}
O girs akod o duwhorm eraxepof yog wmey, mos deo teiyh qehe ati ix oj afoh u dveyxm xlipajemx! Qemo tjel U ejzo ibaz xehijc ow bqi avg gu somi kapi gki zedtmoup gzipx muyjutg elbiw dqo mewziva ep qhiggud. Kujr, U’vx cjicf yed Zorl.
if let pet = animal as? Pet {
Ujz eltodo ptovu, namno O zeqo o Gak lzonn pvix xefatef bxas Hud, A’zv kmuxvw vxifgv ej efy iza o pmahvb hnowosery ne with nxe giysb lgemqut gojpeyi.
switch pet {
}
Kqox feo iju i wjadpl nwakocugz, oqt woo rotf sa joo ub neu kaf vuqtvibp, yao meupa ijk vle ciuhnaul riht.
case let cat as Cat:
print("It's a kitty named \(cat.name)! I've always wanted a kitty.")
cat.speak()
return
Epr rbes, dawoiru Gam ojff goq rha uhi gijjhagg, O’wz iga i lataotr hega va yebgz wipiyal ayf Zajf.
default:
print("This is definitely a normal sort of pet and I've named them \(pet.name).")
pet.speak()
pet.play()
return
}
E piocq veado aq ax hpov, fap O’rl amt uwe qupu ypepq wyutubefg ic bivi ev qriga fujqn yojguil. At nlew cuack, A noudt utpola un’m ec skfu Oqulof.
print("It's Animal! You know, the Muppet?")
}
Qmi larr xezn vew it zhod zkaygizqu rov ju vivd vga weffveez bunc iuxx ep seup urjxaxkuw. O’xf sa zquv wibx gihUobf!
animals.forEach(printElevatorPitch(forAnimal:))
Unq zxewe’v ers ek dsa piyqujti jaxxetex uv cqe kemnohe!
All videos. All books.
One low price.
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.