Pokud jste obeznámeni s objektově orientovaným programováním, přeskočte tuto sekci.
programování Objective-C je založeno na konceptu kódu reprezentujícího objekty reálného života. Reprezentace programových objektů se může pohybovat od řetězců (reprezentace textu—řetězec znaků), až po štítky, dokonce i lidi. V Objective-C jsou objekty členy jejich tříd. Jeden objekt, nebo reprezentace třídy, se nazývá instance této třídy. Každá instance třídy má vlastnosti, věci, které ji definují a charakterizují., Navíc každá instance má metody, nebo věci, které může udělat. To vše je pro začátečníka docela matoucí, takže tyto pojmy vysvětlím příkladem v reálném světě-co lidé.
ty a já jsme každý člověk. Máme miliony vlastností, které nás definují, ale oba jsme lidé. Máme oči, uši, osobnosti, chutě a tak dále. Navíc můžeme všichni dělat věci. Můžeme vyjádřit emoce, zpívat písně, smát se … dostanete obrázek. Pokud bychom se tedy měli programově charakterizovat, mohli bychom říci, že naše třída je osoba., Naše vlastnosti, jako je barva očí, barva vlasů a oblíbený typ automobilu, jsou vlastnosti. Konečně, naše schopnosti, jako je mluvení, smích a kódování, jsou metody.
programátoři vytvářejí třídy, aby mohli spravovat vztah mezi tím, co počítač dělá a tím, čeho chtějí dosáhnout v reálném životě. Vývojář by mohl vytvořit třídu PickupTruck, aby zastupoval kamion ve svém programu., V programu by mohl vytvořit instanci PickupTruck s vlastnostmi, jako je barva, Rok výroby a velikost postele. Kromě toho může vůz dělat věci, jako je jízda, doplňování paliva a zpomalení. Možnosti jsou nekonečné.
hierarchie třídy a dědičnost
objektově orientované programování komplikuje myšlenky hierarchie třídy a dědičnosti. Hierarchie třídy je představa, že třída může odvodit své vlastnosti a metody od svého rodiče, nebo superclass, přičemž je schopen implementovat nové vlastnosti a metody., Dědičnost je jen další termín pro hierarchii tříd-dceřiná třída dědí vlastnosti a metody ze své mateřské třídy. Abych to vysvětlil dále, připojím svůj příklad pickupu.
začněme třídou PickupTruck. Má základní vlastnosti (kapacita, Rok výroby a velikost lůžka) a schopnosti (pohon, doplňování paliva a zpomalení). Stejně jako volání vozidla pickup v reálném životě je zobecnění, instance PickupTruck v našem příkladu je docela obecný, také.
nyní přidáme třídu dcery-FordPickupTruck., Zdědí všechny vlastnosti PickupTruck, protože má barvu, výrobní rok a velikost postele. Navíc zdědí metody Snímánítruck – může řídit, doplňovat palivo a zpomalovat. Ale protože FordPickupTruck je specifičtější reprezentace, má více vlastností a metod. Instance FordPickupTruck bude mít název modelu – vlastnost příliš specifická pro obecný PickupTruck. Můžeme také přidat schopnost, řekněme, že instance FordPickupTruck může táhnout, něco, co ne všechny PickupTrucks může udělat.,
rodič, třída může mít neomezené množství dcera tříd, což vše může mít neomezené množství dcera třídy a tak dále. Vzor dědičnosti třídy může být lineární, nebo se může nekonečně rozvětvovat.,