If you are familiar with object-oriented programming, skip this section.
Objective-C-ohjelmointi perustuu tosielämän objekteja edustavan koodin käsitteeseen. Esityksiä ohjelmallisen esineitä voi vaihdella jouset (edustus teksti—merkkijono merkkiä), tarrat, jopa ihmiset. Objective-C: ssä esineet ovat luokkansa jäseniä. Yhtä esinettä eli luokan edustusta kutsutaan kyseisen luokan instanssiksi. Jokaisella luokan instanssilla on ominaisuuksia, asioita, jotka määrittelevät ja luonnehtivat sitä., Lisäksi jokaisessa tapauksessa on menetelmiä tai asioita, joita se voi tehdä. Tämä kaikki on melko hämmentävää aloittelijalle, joten selitän nämä käsitteet tosielämän esimerkillä-miten on ihmisten laita.
sinä ja minä olemme kukin ihminen. Meillä on miljoonia ominaisuuksia, jotka määrittävät meitä, mutta olemme molemmat ihmisiä. Meillä on silmät, korvat, persoonallisuudet, maut ja niin edelleen. Lisäksi voimme kaikki tehdä asioita. Voimme ilmaista tunteita, laulaa lauluja, nauraa … sinä saat kuvan. Jos siis luonnehtisimme itseämme ohjelmallisesti, voisimme sanoa, että luokkamme on persoona., Meidän ominaisuudet, kuten silmien väri, hiusten väri ja suosikki auton, ovat ominaisuuksia. Lopuksi kykymme, kuten puhuminen, nauraminen ja koodaaminen, ovat menetelmiä.
Ohjelmoijat luoda luokkia, jotta voidaan hallita suhdetta, mitä tietokone tekee ja mitä he haluavat saavuttaa tosielämässä. Kehittäjä voi luoda PickupTruck luokan edustamaan kuorma hänen ohjelma., Ohjelmassa hän voisi luoda esimerkiksi Pickuptruckin, jonka ominaisuuksia ovat esimerkiksi väri, tuotantovuosi ja sängyn koko. Lisäksi hän voi saada rekan tekemään asioita, kuten ajamaan, tankkaamaan ja hidastamaan. Mahdollisuudet ovat rajattomat.
luokkahierarkia ja perintö
Oliokeskeinen ohjelmointi mutkistaa luokkahierarkian ja perinnön ajatuksilla. Luokkahierarkia on käsite, jonka mukaan luokka voi saada ominaisuuksiaan ja menetelmiään vanhemmastaan eli superluokastaan, samalla kun se pystyy toteuttamaan uusia ominaisuuksia ja menetelmiä., Perintö on vain yksi termi luokkahierarkialle—tytärluokka perii ominaisuuksia ja menetelmiä emoluokaltaan. Selitän tarkemmin liittämällä Avolava-autoni esimerkkiin.
aloitetaan PickupTruck-luokasta. Sillä on perusominaisuudet (kapasiteetti, tuotantovuosi ja vuodekoko) ja kyvyt (ajaa, tankata ja hidastaa). Aivan kuten auton kutsuminen Avolava-autoksi oikeassa elämässä on yleistys, esimerkki PickupTruck esimerkissämme on melko yleinen, liian.
now let ’ s add a daughter class—FordPickupTruck., Se perii kaikki ominaisuudet PickupTruck, koska se on väri, valmistusvuosi ja-sänky. Lisäksi se perii menetelmät PickupTruck-se voi ajaa, tankata ja hidastaa. Mutta koska FordPickupTruck on tarkempi edustus, sillä on enemmän ominaisuuksia ja menetelmiä. Esimerkki FordPickupTruck on mallinimi-ominaisuus liian erityinen yleinen PickupTruck. Voimme myös lisätä kykyä, sanotaan esimerkiksi FordPickupTruck voi hinata, jotain ei kaikki PickupTrucks voi tehdä.,
vanhempainluokassa voi olla rajaton määrä tytärluokkia, jotka puolestaan voivat kaikki olla rajattomasti tytärluokkia ja niin edelleen. Luokan perintökuvio voi olla lineaarinen tai se voi haarautua äärettömästi.,
Ohjelmallisesti, luokkahierarkia ja periytyminen voi tuntua sekavalta. Jos kuitenkin annat heille reaalimaailman esimerkkejä, niistä tulee paljon yksinkertaisempia, ja siten voit paremmin ymmärtää niitä. Tämä pätee moniin tietojenkäsittelytieteen vaikeisiin käsitteisiin.