Als u bekend bent met objectgeoriënteerd programmeren, sla dan deze sectie over.
Objective-C programmering is gebaseerd op het concept van code die real-life objecten vertegenwoordigt. Representaties van programmatische objecten kunnen variëren van strings (representatie van tekst—een tekenreeks), labels, zelfs mensen. In Objective-C zijn objecten lid van hun klassen. Een enkel object, of representatie van een klasse, wordt een instantie van die klasse genoemd. Elke instantie van een klasse heeft eigenschappen, dingen die het definiëren en karakteriseren., Bovendien, elke instantie heeft methoden, of dingen die het kan doen. Dit is allemaal behoorlijk verwarrend voor een beginner, dus Ik zal deze concepten uitleggen met een voorbeeld uit de echte wereld-hoe zit het met mensen.
u en ik zijn elk een persoon. We hebben miljoenen kenmerken die ons definiëren, maar we zijn allebei mensen. We hebben ogen, oren, persoonlijkheden, Smaken, enzovoort. Bovendien kunnen we allemaal dingen doen. We kunnen emoties uiten, liedjes zingen, lachen … je snapt het. Dus als we onszelf programmatisch zouden karakteriseren, zouden we kunnen zeggen dat onze klas persoon is., Onze kenmerken, zoals oogkleur, haarkleur en favoriete type auto, zijn eigenschappen. Tenslotte zijn onze vaardigheden, zoals praten, lachen en programmeren, methoden.
programmeurs maken klassen om de relatie tussen wat de computer doet en wat ze in het echte leven willen bereiken te beheren. Een ontwikkelaar kan een PickupTruck klasse te creëren om een vrachtwagen te vertegenwoordigen in zijn programma., In het programma kon hij een exemplaar van PickupTruck maken, met eigenschappen zoals kleur, productiejaar en bedmaat. Daarnaast kan hij de truck dingen laten doen, zoals rijden, tanken en vertragen. De mogelijkheden zijn eindeloos.
Klassenhiërarchie en overerving
objectgeoriënteerd programmeren compliceert met de ideeën van klassenhiërarchie en overerving. Klassenhiërarchie is de notie dat een klasse zijn eigenschappen en methoden kan afleiden van zijn ouder, of superklasse, terwijl hij in staat is om nieuwe eigenschappen en methoden te implementeren., Overerving is gewoon een andere term voor klasse hiërarchie-een dochter klasse erft eigenschappen en methoden van zijn ouder klasse. Om verder uit te leggen, zal ik mijn pick-up truck voorbeeld Toevoegen.
laten we beginnen met de PickupTruck klasse. Het heeft basiseigenschappen (capaciteit, productiejaar en bedgrootte) en capaciteiten (aandrijving, tanken en vertragen). Net zoals het noemen van een voertuig een pickup truck in het echte leven is een generalisatie, een voorbeeld van PickupTruck in ons voorbeeld is vrij algemeen, ook.
laten we nu een dochter class—FordPickupTruck toevoegen., Het zal alle eigenschappen van PickupTruck erven, aangezien het een kleur, productiejaar en bedgrootte heeft. Bovendien erft het de methoden van PickupTruck-het kan rijden, tanken en vertragen. Maar omdat FordPickupTruck een meer specifieke representatie is, heeft het meer eigenschappen en methoden. Een instantie van FordPickupTruck zal een modelnaam hebben—een eigenschap die te specifiek is voor een algemene PickupTruck. We kunnen ook een mogelijkheid toevoegen, Laten we zeggen dat een instantie van FordPickupTruck kan slepen, iets wat niet alle PickupTrucks kunnen doen.,