Brad Cox e gli amici hanno aggiunto un sottile strato di Smalltalk in cima a C.
L'Objective-C ha quindi molto più in comune con lo stile di invio dei messaggi altamente dinamico di Smalltalk OO rispetto a quello di C ++.
Una delle principali differenze è che in Objective-C non ti preoccupi troppo di quale classe è qualcosa: ti preoccupi di ciò che i messaggi capiscono. Puoi avere oggetti che modificano l'insieme di messaggi che comprendono, in fase di esecuzione.
Avendo detto che le due lingue hanno idee molto diverse su cosa sia OO, molte idee / principi sono ancora condivisi: ereditarietà, delega, polimorfismo e così via. Troverai facilmente molti esempi dei vari modelli OO nel codice scritto in entrambe le lingue.