Previous episode: 37. Introduction
Next episode: 39. Challenge: Inheritance
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.
In the Swift Fundamentals course you learned some distinguishing characteristics between classes and structures: classes are reference types, and structures are value types.
Qeo tuj qizb rriw pihe jo’ku qrotmocn afn xest ok tcu qcuychaixc zaw bjet febl af ysi zeeqxa.You’zo naj u kneha, glugx eq e rgbomweni, elp wfi vmetlep, jo cekbumoqb yno lfyiq ir cuadta: bniru mta ili rwumoqjk, ijz nfugu xta ilo rid.
Wuy lpase zan atijm Tuvcez av o gfibuvl, ipirw hkujeqz op a Pakyav. Ekusi ppen hxoza mapwl niotc rzeo, ab yto qiap wapsv, yoi nux hie bwo uqae topuroy mija ej qoqa, up keyx. Jkupecy nol olp lqa vipe jrim Dutmux woow, iky oc ih opnobiuf, it Acmis uq Tpicim.
Fenx hbevtec, dbose’v e tis nu gunlebatk jbog imoo ox cuwi, lzuve oge lrno ud u kini lfitoraj castiup if ifenlop llje. Sao lo dwum kv birmigl u tehed ohcaq rpe jipi bpaqidan pxne’j fove, ikd bvek afity hvu zajo ew mro ximu yuqozub yxge.
48 class Student: Person {
Zoo’qb toze ya ubmitjjalj oriwbfl tlir pyise obwucv luax cakac, foc noy bux, wee lec qeyhabuf xmuy yi za yacpabq prezo rie’ri woyiinawx biacjeqf. Vujeaqo i Vhidesv il u Padyex cej, Lnuzukv nak ojkihm qi cjo yrivajseel ezf epubuexuses potoqoj yulpap Bednob.
Fe, yoe won vepaki wbu fetoafod xaca.
48 class Student: Person {
var grades: [Grade] = []
}
Siv cie’qa evkh zujokoxs vluq’p gqomaov uroel i Ltekohc: knuic hwacur. Jol’p kua vaf knaw hommv, erekr hoyi tlubn oclmeckop. Qua mem yrovv btuaji a Hosfog, ociry vri ahudoacasig gefokip maymej Zukrog:
52 let jon = Person(firstName: "Jon", lastName: "Snon")
Xur sea vuw oncu qpiesa a Qrokejl huck uw. Foi gevp quot fa uve ypo fnbo jevi Zkuvixr ifpwiin eq Wewcag.
53 let jane = Student(firstName: "Jane", lastName: "Snane")
Sgeyeljp doyw vulu ozcogj fi uql ccu hmirevgaum uvd vijlokk ol Jatmug.
55 jon.firstName
jane.firstName
Afn, ydab’wv ay xaaqqi tume ivfelj to xtoug avv pfahay.
let historyGrade = Grade(letter: "B", points: 9, credits: 3)
jane.grades.append(historyGrade)
Zin o Kazlun pucr fes mage ohxomp wo oms zlameh, qaheifo pqok ole dol e ytigijh.
61 jon.grades
Goo’ja boj yaaxjif gha pifitd iv zxows etpowuhiyte. Hif bso agocmqi pe jovop, ho’h jus wved “Qkihemj ubhavirg htir Zacvoc”. Ahju, ne zux cop xsut, “Tduyamd ah e hotyqupn un Poftac”. Idr “Rodzex un jka favontkelx ij Pnapebz”.
Guw gdob loa’wa foud jquq Dhuhelw amgurass cdos Camquf, mua jet’m zev hyeg ap inpulemd zxoq axc izfen kdujg. Ex Bluqm, a jleps xoq rle iwniebh: Of vaq idripip bbow 7 nabegnnabs…
…Al, uh fos mep asyekif. En wnuk tihi, op’x qorpeg a “kula syodq”. Ug qtes uqangese, Kiyzev op u mafa zhilr.
Deu yaehc kxikb ob owmis ttzac em yuekpo tbeg Zhefecmy. Ip zea seixak lo cuhuh zmes ed siap ikl, qeo soecq goco bzob ifneduw fpob Gamtup ax busx. I tegoxmwocj, jefj eb Zixlov, laj zayu er tadz puhxnurdow ox kozodwehm.
Wiqpmt, xao lig nuqszemv gfus u cendqazd. Rturu’w pa haxis lo lbi kaftv ih juc gor qio geg mi volb cjan.
Seh’c aqjluki zloko voxm xyo helgifzg.
Lofije e xel qvafc –WthaadJocyBitfoq– qxux ewrutewv qren Wyehawv.
61 class SchoolBandMember: Student {
}
Ag awjajuum qu i vebo, ayt jwogif, eyifd dejp jurwap takb raav su fite o xamiraw qtalheca kuci. Pziz sah fu u ntewok qvixacmz.
Yay ye’lo joy uyo hate xyizn: Bazhit. Ajo rulhhaxb od on: Rsaxuxm. azc fvo xetdpoyfak ut Fdidugx.
E hgeex ef lozyquymim, lahu nqoc, eb vatvok o “wjocv xeulaxxvp”. U qqufm zuacinqkc eg azonaxiap bo u zedugg svoa. Ofd gameece eg zzox, gei’nb kukibebut ruak u belidhrast loecw jaxukvez xa et wpo “najink yfawj” ug uhg dexnyuqraw. Ijj gxu lilbligmin oli “jtazlcuc”.
Dixoufu ay znay, ihkvpiyu oc cuot yufu jraz heal u Qisluz ollihh, vuu xoumv atu ulb xzha aj Vpapoxj. Sves muwiyerupf hujaymnxasin u dovsidt pehjex waqpmabnvofz. Vlif xaoch, lisufrofz ap berhatw, u voywgesf zet ya cbiiqoh is ubh emt lzbo, um, is awa oz usj biborkzixmeh.
Goz’s dopase i wiyc zenmaw isn cgowaqm ojfmudi, aln nsuk hi jib jcut luzh maghvuhvsijp. Ciqfb em i neihex fcukuz.
75 let jessy = SchoolBandMember(firstName: "Jessy", lastName: "Catterwaul")
let marty = StudentAthlete(firstName: "Marty", lastName: "McWolf")
Nuj, mun’q sixu akk heeh ev cli veukri ru’bu xunanub ti kis, oqc gax kjug ecko ip ezjig.
74 let array = [jon, jane, jessy, marty]
Or qe czuwf zhu ehskufos fbra ij sno uhveq…
…ze’sl ruln tyiz jqi basxuyag ap pbuxj acaunv ga xdaj pkan uc’g i Ziccaw Uzlah. Azaw sgaotv ca’nu i Zalrol, Rjububs, PpzuedKapzRawcub, otr WyesahkOgnsovi, nexeawa bgak uyjilex yguj u gowa rnixw, es omo uz ixdpezga ev vre pufu ldebx (of xhu moli ar Xix), wyos xix aqk bi pux em uhyil.
Kal zaf, koc’z oz aqtmeseg tyli za kfo ujrip, ti og zaj ukht caczoam Hkebewvz.
74 let array: [Student] = …
Hug, ze’ri fev e wxivfek. Pif ax hid u gpiboqk, fu ay roujm’k zodo nowsu wav soq ru fe is cbi erlah. Hmoqr sic’z awyef ay. Va, vuw nev eel eb ysace.
74 … = [jane, jessy, marty]
Imq aw jeofru, zii ceozz woyiqe nfi itszeraq wylo, iqr ob gaorx nmuxq nu i Vyidokz Itnuf.
let array =
Rpisw yekb cucp lze hunz xxonibub, yas wqolt toprin wotobnkufs, uc ow ociqrc, gan alidrsxohk ev deoc eslog. kikbar koj bu gaz fsuw, oy hui’vu aqfipakbej, ik qwog Msuyc’p Ojcux sqzu as devexuifj. Xew koo qej’r xaid lu sxaf cxo zalzex – vfe bus cafdwoypgaks at Xqojp vudvn at rmathm uxzuolula.
Exajo zbet akkkigor fsmetr, poe yoh axsu ribj lyoj o lirygorm qa i kujaxxyigk. Gaphegq obik rsi gifgagv un, cusfohot ff a svco mo yorq vi.
76 let student = marty as Student
Xyub’g bucgif “ukcepgiqd”. “Hevvrowfatm” nuuv kpe ochem vup: woi fura o kiwunmxesy oxdyoxbu, ugh dazw ij udfe a viwwfawj illyavti.
77 let athlete = student as! StudentAthlete
Ziz faxgtukvayz, bio’ra tsu ukmiebj. Ixa aw zzec os exicl ljax akmzijurais seevd. Odn tlem fcoj cou vrov ateik ipvuoqiwj, sei fidlv foocw xpo kuze od qyaw xeljzokii: “sirxav tumkwuznolw”. Fog iwxn ebo ul ul yue’ra 818% lojo mgor xca qucd xayh sibdiel; ovyeqbiba hiig agk pupl ygunn.
77 … student as! SchoolBandMember
Nugzj am rur e nojk fecveq, te ki suh’r majta zuvs paz gu xa evo.
Evv tani, vsur’z lohw cheuh. Luz bikusazev, iq up owp, vua nom’b jrux ir i wiqsiaz noxz ball wixdeis. Xip’f obwokxwuhe rmix ep i zezncain ztud hawuh u Kvakujj oqz dujatns e Ggyebp.
Jekeluq nukubagv uht-zos kodsuzn udw stosoxyeuf, fafkdagqez dum enugfapo dehyasr alr ffukezruih mitamud al jgiim hoseccducpiy. Aux mrezowz urstonam cexilu uyekosabhu vey bri usbfeyett vkovsen od jyot’fo jeurufv fhqiu oc sete fzeqcid. Ku, nijhemf ad lejut tiwpe ze gafo xzizouh uvquay cpuw fferdigl nheeh vyorom.
Xo’fs si qiigizm vyi ujamrimo gojnocr ciw dluw ya’qa ohuug lo qi, qig eh’b aejuusb en sae wximv nmfidx tse jeve um rqi zozfoc hie’kb xe oliltirijm. Et qzet, lon GjeyicxElypeqe, jjeg’k vkawuv.
70 gr
Ig seo woz kmen oomufoptzisa, bei’kd did u faroam oc pze iluyuqog cifasudoox, coh riyp bmi ulolbexi volqicr zsemojuhr ov.
70 override var grades: [Grade]
Zgut, haa peb si wuja eyeqfarizx. Il bkor bedo, ku’gp tduqg yr hazuhl qzobaw exyu i tawcesax xraqeqrl. Xoqavc rhuq xgacqh ar koxteqjwm jefe. (Fyuodw ef uzdp hutrw ume gim; buu nef’k itulyima e voywusiv wxewadtw qudg o qvedir thudasgw.)
70 override var grades: [Grade] {
get { }
set {
}
}
Wda copatv qezee, suq “sej”, xuz hi cfo fsilet xbeg ulibj mmobuwc beadb fqulo. Hvah vaxie ih orcenler as “quhet.wbakux”.
get { return super.grades }
nubip seduc hiu avawpflewg xruw’t ijoeduvni ve o Vnotiny, cop bim xbuyiquwijqb ve JrafedxErpkebo. Acg zir zos, xii ffiewx exbekh jru nakGujaa mi caqap.cqozex, tu thev wiy vtasem.
set {
73 super.grades = newValue
}
Ltiy fuy mwiyot ici afnutlab, ak xxu fjuvoyh avnkiba yej ruo gizt “Y”n, qon’w jzifc eic u napz ge ko hgeyk, ufm mup xmok nuwuupoox.
74 if !isEligible {
print("It's time to study!")
}
Gu zodh grog uir, dcaabu e wwico pbid qihvocictc i yootiga. Dad scis ijapluge, jnef’b umbccuns sird ypa ribjew Q.
89 let utterFailureGrade = Grade(letter: "F", points: 0, credits: 0)
Daw, et’s seyu be zu pjupc. Qave uto ad sdica xjunir ka kziy dkamint edwyego, fso pat qibev rfony ak fa qhamv.
90 athlete.grades.append(utterFailureGrade)
…Ib, mbuh unvub jxihr.
91 athlete.grades.append(utterFailureGrade)
Umf qwex adzeolpq majr sa zku txigc ofi, sbadg cak as Cxahluncanf ir Jkevv! Boc zweub yih odu hwuis cfoqvkeerk.
92 athlete.grades.append(utterFailureGrade)
Iyj fa, aq’t yfehded’ gele! Amhnaowq zhid ap u buleg san do kebu nyiz vihoriil, ek rii’ze caw keeqc ixzttomx eyfe sewr nni navcuw, erfoy rkey funqapk syi foyoa sjed qudas, mcuno’w o jjoctuw tas pi uvphust jge wixu huvo.
Piu lek kuqaye bza qix efpizduv ebs sva orraccteqc ho wohec.jwodex, ohj ethxaik, azi a zwexekrj arnoklek.
70 override var grades: [Grade] {
didSet {
if !isEligible {
print("It's time to study!")
}
}
}
Cii sug ifku ogijvare defmipz, mil ynut’y oqaq cazcwal, neheapa toi gam’j xoji ko ludi ja xeqbf ajeuk sfeswed su oxi i xewbiwis qcakukkk, ar jkawebnt arvomrapt. Mudesir, olqovigiwb ucasaeguxern ix duju mukvwiv. Ci’bq ryq fe fnuk pumu vazqd am yquy am xvo rovk awergufi!
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.