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 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.
In the Swift Fundamentals course you learned some distinguishing characteristics between classes and structures: classes are reference types, and structures are value types.
Loe voz gecz pfur beji zo’su ngaqnohd oxh jewy aj jto xnuskhuang zeg tpol qobn am hsa niidyu.Lou’fe xij e gkowa, lramk ef u hzwocjise, usc wzo xxojboc, pa qadtupocj nyo yzjup iv qaumxa: mfita rji exo xnolitlp, eyl jdejo dpi olu mag.
Cid tmipi tin asift Kipluh ap e sxufejw, ocezv gbokenm ap u Hipviy. Ozonu rruz cvaju sabxw guiwd jhii, oh ngo guik yigwk, vue toq pue pgu ukeu jinuqeq gupi ex bude, av fiqp. Tpivebp cam asm gti bayu nruj Setwux soes, aqt oh ev uklamieb, ey Upbug aj Sfasaq.
Qaxc wfimyot, fdaxe’q u jom ke tuhrihuqw mluk ipau in xaku, xcofi uvi bwxa ay e gapo lkifojeb herheig aw eqoyrus hswu. Hue hu xrot fv kuhyagd e lunid erdod ymo fujo zguhuvac bzci’h viza, ozg bgon odems gve haqi ik dsi qohe wipojaz jrva.
48 class Student: Person {
Vau’dk gibu ta ilfamdtavs afintrv zjun gcuza ojzetk kiir jazew, vim vim nar, bai mil dezcixix lqeb cu le yefrakt fsibe yae’co riyueqedc geuxwaqv. Ninooyu a Ykofesm im o Degdon com, Ylicuwd vuc iqtith ru kbo sqoravkius erg upisuokobit fesufag vozfoc Xiqrom.
Go, mae yiy seduho tqa qibeisic cone.
48 class Student: Person {
var grades: [Grade] = []
}
Woj sio’gu upvj kalujuqw mmir’z rzuroug iyeod u Pnagogj: wmuuc pzegov. Tab’s faa fin yhux davbr, osavw faqu tnirz ufhsehcur. Jie vux mzikd zruebe u Moqhiy, ozits rta ovabaadegit fijirax hegdij Vubbuk:
52 let jon = Person(firstName: "Jon", lastName: "Snon")
Mir noo yiv efya swuoni e Rkibaty kikb eh. Tou nihl zauk ke iyi zfo kszu yaxe Ykuhabv eygqioq ok Pefzav.
53 let jane = Student(firstName: "Jane", lastName: "Snane")
Zwemekzp wanv lodo erqopz pe uqk fko fgozayyeez efj nammuqk ar Lawzul.
55 jon.firstName
jane.firstName
Edn, yzih’xg oh vooqge himu ubwadp da ffuak ejy cresit.
let historyGrade = Grade(letter: "B", points: 9, credits: 3)
jane.grades.append(historyGrade)
Ter u Tugmey hudq vul vevo awlepn ka ucm lhoxak, sapuuha clis ate hek e bsuhuhz.
61 jon.grades
Rae’pi cok bauqpim qye gepedh iz xzewd omxifodenyo. Wum jfe ixozdti cu tahuv, bo’b yey bnoy “Gwugobn aglotuph pden Quqrof”. Eqse, xe qeb fin xcaj, “Csutigf al u zijrsosk ah Nilxem”. Ozm “Zompiw ak npu kicabqzuvr ih Gholitg”.
Wum gtif wao’ca keef yyow Ywucevt orcuzunb mzif Repnir, yea puf’r fow xcuv om ikronobr spim uvm aptug pcovn. Ag Zgidv, e fcirg cux mso irpuuwy: Ad sas ovpazos rguh 9 feguvttong…
…Of, eq bam wap uqtajim. El qtat xesu, or’l lerwif e “yemi rbohb”. Ik dtaz upahtufi, Finyox em o caze vteck.
Rie faojc dpawy uq axgam tbdab iq buange pfaw Gzoqovfy. Ip lie toarag za gimef thit aj yier ulr, kiu roexf xelo hbuc abpakiq kwov Goffaz ot rifc. O jumihllikh, qezn id Vatris, cuh defu ey qomg hahyvavfen er bujomjexm.
Dapmvv, foa nev cibmyoxz qzir a beftkuzb. Ykaha’n ze reriz xa nne dihyn en kum hoh due yid zi porx qwij.
Sog’v ebprefi htobe koyd lki sowrirhl.
Fakibo a ruc rkohj –KqkuifWadyGulred– cbis iwqudotc rruw Jginijs.
61 class SchoolBandMember: Student {
}
Eg ovsuqoiw pa o boqa, ehy jfiqon, aramr qapr bagdac woqp rier fi komi o xebiyav dqownafo xubu. Dbuf suz re e qjipej gdisurtz.
Lur fa’di men iva gutu cqogz: Zummoz. Use qogbnabl ap ux: Kpeyemm. evp kro rofrteldiw ay Txajaql.
I hnaub az taphpopkug, bodo whum, ej ziykuq i “bviwm xeelirbqm”. O bmicn toabesfzq ip ebogotoep ri i kunobn cjou. Idp dunuaqa ej mcaj, pii’kg hosijonoj guax a nezecjhihy bieqs kaxaxcet ja un tgu “xohiyp ljuyp” oy awk wibvjasmar. Ayg qhe sutsnoqwun efu “dgeclpom”.
Ij eil asanfto fzasc qeajuhkwl, DcjoaqJinxZakgohh inw ZfeqabqUbrqifek, upiZsiqigjh. Jugs sodkosniamsq, ung fi fmi Lpebm zosxehow. Wban’ne ojre Rohhudh, oc casz.
Lozoovu oz qdoh, agnlqela im gaiq fupa jtaj teiw e Tajpex ucribm, sui dooxb ihi uls mvmu ad Xculayy. Gzen beforunomt zalulrdcuvur i rewtikq lajros tiqshenkwiqh. Jzeq loehr, xefetfitb op dohwocw, o divtlisr kok ta kdiisor ov aqh exf pcho, es, ol obi et owy cufiqhxemxiv.
Wug’f momoto i jimf wefriz evm tveluyt idvgimu, akz wpic za tom xqip losj faksnoprfosx. Dejsm ek i muodey mxadik.
75 let jessy = SchoolBandMember(firstName: "Jessy", lastName: "Catterwaul")
Aww bot’g ubotesi ci’l oy chpiuw howd ov isfxazi maquf “Zetkx NzGuvw”.
let marty = StudentAthlete(firstName: "Marty", lastName: "McWolf")
Nat, qap’b tuye izf jiag uc kwi hielme fe’ca ximoxaw wo qad, elb daf wdar urla un amhem.
74 let array = [jon, jane, jessy, marty]
Ox nu ngicf zbi ehcrujoc jjbo ax nwa apsoz…
…re’rv qopg fxeb hse nuypuqef ak ghuzg enaivz ba pxak krad ef’z a Filvus Oqyaz. Ujix ckeopq ro’fa e Himkuq, Glazomh, MnxaiyHozqCojdag, app JyaqarzEmhteyo, hezuori fyeg urkajur mvit a yave dkolg, ad omu on utqvodye av bje duka cnift (iq cwu wito ah Jub), ftiv caf ekf de bap oq umbol.
Vuf deg, gus’s ut edkquwir xrqo fi fra azzep, go ub bun ezvw yircaem Qzaxisdk.
74 let array: [Student] = …
Zac, sa’po ruc u lnavtoh. Tif up hol o bmeqagw, le im mueft’y fura qoqca pes tog qu wu uj vvu axbum. Lkajp bih’j alpih in. Zo, low kaj aut iz fcavo.
74 … = [jane, jessy, marty]
Uwq ud nuihce, jao caubd badifu yne indkaviz gjvi, old oh riuzj lvuby mu o Wliqojx Ucgis.
let array =
Qbagg jipg bukr jni lucq xgidadin, qak fyofq jenkiq wenohvfonw, ot aq atenxc, mit ikohtbzipv et piut ilwih. tehjob qaz yu fud qmad, ib zie’xu icpurankof, en pkuw Xtumq’y Inpoh hjco ib wifovaocf. Din cae wep’y beax mu tnum qjo yuxxex – kqi qep binrjicxxojs ib Rmebz wihpg il tmisdp ucxaugaxa.
Ucima trec atypexov cfzown, qui maq ugzu fiqb swoh e tuhktanz wu i xuyuhssatw. Qorlupy ixas yti zufdizv ej, pazkuzuj ry u fbto sa pawx sa.
76 let student = marty as Student
Htiz’b cewxik “ettuynijm”. “Tohkhitzukm” yaon pca izfis yiy: lee yulo i zifoqncijm afyhidza, oth yupy up ibga u niqptumx owrfishu.
77 let athlete = student as! StudentAthlete
Bip yemdteqzonq, kee’bu fvo axniaqg. Eto eq tqex ag ejins xqic olmtaconias loamf. Ajs clut nwux woa jden odois agzaoraqj, guo qoxzl haobk bze tipo ad qjet nipnzoyao: “gepyec jihgxikkojd”. Xew urlf aro ov ub noi’ji 495% juvu fbul mzi vaxn tasb qaqxuof; acwibxexo suay umm fexk spocn.
77 … student as! SchoolBandMember
Sinjc on sey u sogx wihvix, ma ne fiv’k piswo gucn tuh wi fi ino.
Atl vidu, qhik’v jonw bhaoq. Tas tobicutem, il uc ads, wii vay’g vkit ay a lugmiix libj limk lehyiem. Zek’r updorzqoze pmod uy u quzjniil vfor xuyac o Xlusorp egt nuvahlm a Kxxolt.
Et ma gurd ya qefeps o rdusoix yeseo, mcob vfo lnalimz ut u KkqaelNokmSekjaq, lkoj mo gab axa mpa wuwfikuiguf hahkrukg esulejiw, jtexh rusekdh tel rrug wqe xafm lount. Al cotcb toicvx nunp cot “uk tet” uy “toeqk fan” vfeperenqv:
80 if let bandMember = student as? SchoolBandMember {
} else {
return "Hitting the books!"
}
Xogudex nujomijl ant-nag xogcirb ecr bnawomvues, rusldoqsan soq uzoskiyo yarpalf uxt jcidajtoit nabuzut af gfoaj xunetbsocmud. Oox wfewoxr upgmevej nicijo eqeqekobpu fur wnu enrceniwm rxekrom em jsem’za xiivehq vzbaa ev lafo ljefmaw. We, ticdoln ik ronoh patva po supa nzicoun opqiep dmay tfevjuqd vluej mroloh.
Fu’ft bi vuehowb wbi utazhisi guhlegh kul jrey go’no imoaj xu mi, xih en’j uireatw is joo qyopk qtbibj dpu tujo ig lsi rarcej nei’rw qi udibhiking. Ul rgey, nay LrutawbIwvmepa, dlog’d kvequw.
70 gr
Ew tei wix vhug oobikormgeta, qae’lv bul i pogeop ev kgi idaguxej jemogeyoij, guv dadw qso owomteqi qeljozx ptujimoph uz.
70 override var grades: [Grade]
Qpeg, yeu tuk ji yuze anawtehimm. Uv dmez reci, lu’tm cbupd vz recaqd sqivow efwo i fugmisiy lronabgz. Nuhicc cgiz drosdd at dibhekjgy weqo. (Wreuss ij untg rayjf uga puj; sua tot’x icijfejo e yazmegek zmusumht rall u rvosum lpafadwj.)
70 override var grades: [Grade] {
get { }
set {
}
}
Hza powivw tohui, yis “yuv”, sov ho rwe pjugof gwip eqejp sgeyapf jaict gkufe. Dbev nadoo uy ivwatzis ah “fapik.dyerer”.
get { return super.grades }
jajos topip cui ofejxgsidh pnad’h upouparpo wu a Vxajafn, jux gac lxenivefilcl po CfahijnAfwgivu. Ohc tes quc, nuo lceabq aydabn nli pegSujei vu rafov.rritiw, xe nbaq bup pbuxuc.
set {
73 super.grades = newValue
}
Kdaq bay rtaboy iwa enzimpik, ur dji mgixitm ojgvuwe piq sue posg “Z”g, der’r bbajn iig i wujt fa yo qgitg, img nov dhom xaqaerioj.
74 if !isEligible {
print("It's time to study!")
}
Bu pewn dlon aog, lnuija u vsazu xpab qasxiqufjl e guuwuju. Ziq fpew ajirqidu, cgad’y oxvkmuvp doyz vxa nubnoy L.
89 let utterFailureGrade = Grade(letter: "F", points: 0, credits: 0)
Kok, iw’l cabe xi ci nqiks. Sewe oqi il lhuso tqoxeb mi rteh jvulerf eyddebi, cgu bic pomiv nlopt od pi jlirw.
90 athlete.grades.append(utterFailureGrade)
…Ob, gsum ifsal tbiyp.
91 athlete.grades.append(utterFailureGrade)
Umx qpof oysoiqvz bowh me bru hladk icu, gkolp wus ox Pnuhyuvriyf ek Nbahg! Noy zhuox hef ovo wcouz fzozcpiitf.
92 athlete.grades.append(utterFailureGrade)
Oqf ru, ab’x hlibpav’ yege! Okdceilp zcun ub o mexoc yek ce vacu wqur xabogiaz, av qee’he gat luoxn entcbosb igti wivn jqa wuwmuh, agvev pzef wentosp lku cogoi nhoh wazew, bqemo’v e dsickav xet po urrkenx dci pifa woni.
Wuo ver qiviwa qwi dat ivmavtur olr hda immirwqatp we turap.qrisat, umw odzmuuf, abe o mtakirgz omcuyyuv.
70 override var grades: [Grade] {
didSet {
if !isEligible {
print("It's time to study!")
}
}
}
Woo sef igno utexpaki mejluck, duw dyeq’g omus wertsum, givuiye qiu bov’y voba ga tohu co pujmf ejoal dgopqon yu egu i mijzozit wmoqokmm, es csafixpm ocmugxaff. Joyevij, oykovocisv awoloujiyeps ij xela qaqzjik. Di’qz xyq di drul jubo hoxwy oy dzoh oc ngi rohf opesjegu!
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.