Hvis du er bekendt med objektorienteret programmering, skal du springe dette afsnit over.
Objective-C programmering er baseret på begrebet kode, der repræsenterer virkelige objekter. Repræsentationer af programmatiske objekter kan variere fra strenge (repræsentation af tekst—en streng af tegn), til etiketter, til lige mennesker. I Objective-C er objekter medlemmer af deres klasser. Et enkelt objekt, eller repræsentation af en klasse, kaldes en forekomst af denne klasse. Hver forekomst af en klasse har egenskaber, ting, der definerer og karakteriserer den., Derudover, hver instans har metoder, eller ting, det kan gøre. Dette er alt sammen ret forvirrende for en nybegynder, så jeg vil forklare disse begreber med et eksempel i den virkelige verden-hvad med mennesker.
Du og jeg er hver en person. Vi har millioner af egenskaber, der definerer os, men vi er begge mennesker. Vi har øjne, ører, personligheder, smag osv. Derudover kan vi alle gøre ting. Vi kan udtrykke følelser, synge sange, grine … du får billedet. Så hvis vi skulle karakterisere os selv programmatisk, kunne vi sige, at vores klasse er Person., Vores egenskaber, såsom øjenfarve, hårfarve og favorit type bil, er egenskaber. Endelig er vores evner, såsom at tale, grine og kodning, metoder.
Programmører, at oprette klasser for at styre forholdet mellem, hvad computeren gør, og hvad de ønsker at opnå i det virkelige liv. En udvikler kan oprette en PickupTruck klasse for at repræsentere en lastbil i sit program., I programmet kunne han skabe en forekomst af PickupTruck med egenskaber som farve, produktionsår og sengestørrelse. Derudover kan han få lastbilen til at gøre ting, såsom at køre, tanke op og bremse. Mulighederne er uendelige.
Klassehierarki og arv
objektorienteret programmering komplicerer ideerne om klassehierarki og arv. Klassehierarki er forestillingen om, at en klasse kan udlede sine egenskaber og metoder fra sin forælder eller superklasse, mens den er i stand til at implementere nye egenskaber og metoder., Arv er bare et andet udtryk for klassehierarki—en datterklasse arver egenskaber og metoder fra sin forældreklasse. For at forklare yderligere, vil jeg tilføje mit pickup truck eksempel.
lad os starte med PickupTruck-klassen. Det har grundlæggende træk (kapacitet, produktionsår og sengestørrelse) og evner (drev, tanke op og bremse). Ligesom at kalde et køretøj en pickup truck i det virkelige liv er en generalisering, en forekomst af PickupTruck i vores eksempel er temmelig generel, også.
lad os nu tilføje en datter klasse—FordPickupTruck., Det vil arve alle egenskaber ved PickupTruck, da det har en farve, produktionsår og sengestørrelse. Derudover arver det metoderne til PickupTruck-det kan køre, tanke og bremse. Men da FordPickupTruck er en mere specifik repræsentation, har den flere egenskaber og metoder. En forekomst af FordPickupTruck vil have et modelnavn—en egenskab for specifik for en generel PickupTruck. Vi kan også tilføje en evne, lad os sige, at en forekomst af FordPickupTruck kan trække, noget ikke alle PickupTrucks kan gøre.,
en forældreklasse kan have et ubegrænset antal datterklasser, som igen alle kan have et ubegrænset antal datterklasser og så videre. En klasses arvemønster kan være lineær, eller det kan forgrene sig uendeligt.,
ved hjælp af Programmering, klasse hierarki og arv kan virke forvirrende. Men hvis du giver dem eksempler på den virkelige verden, bliver de meget enklere, og dermed vil du være mere i stand til at forstå dem. Dette gælder for mange vanskelige begreber inden for datalogi.