Nei linguaggi di programmazione procedurale, quale ad esempio il C, si hanno a disposizione vari strumenti per organizzare dati e funzioni senza però ottenere una logica suddivisione tra i due mondi.
La programmazione orientata agli oggetti, OOP, riorganizza questa suddivisione dati-funzioni a più alto livello, raggruppando assieme dati e operazioni in moduli chiamati oggetti, combinandoli poi tra loro dando vita al programma.
La OOP, con la parola oggetto, traduce in termini informatici, quello che gli oggetti fisici rappresentano nel mondo reale
OGGETTI
Col termine oggetto s’intende quindi l’associazione tra i dati e particolari operazioni consentite su di essi.
In objective-c i dati prendono il nome di variabili istanza
le operazioni che possono essere effettuate su tali variabili vengono chiamate metodi
Attenzione!!!
Le variabili d’istanza sono interne all’oggetto ed è possibile accederne solamente attraverso i metodi esposti dall’oggetto.
Proprio come una funzione C nasconde le proprie variabili locali al resto del programma, un oggetto nasconde le proprie variabili istanza e le implementazioni dei metodi al resto del programma.
E’ possibile interpretare un oggetto come una porzione di programma autosufficiente con la propria giurisdizione all’interno del programma più grande.
In Objective-C, attivare una funzione appartenente ad un oggetto, significa inviare un messaggio ( oppure impropriamente, invocare un metodo ).
ESEMPIO
[mioOggetto fai qualcosa]
Invia il messaggio doSomething all’oggetto mioOggetto e si “legge” così: “invia fai qualcosa a mioOggetto”. Come mioOggetto effettui fai qualocosa è compito dell’implementazione di mioOggetto.