Supongamos que queremos tener un array al que llamaremos "Zoologico". Y que este array sólo puede contener "Animales".
Ahora supongamos que queremos implementar un mono, un elefante y un pájaro, como clases. Todos ellos son animales, por tanto, tienen propiedades comunes a todos los animales, pero cada animal, tiene sus "diferencias". Por ejemplo, el pájaro tiene alas, y el mono no. O el elefante tiene trompa, y el pájaro un pico. Imaginaos que queremos tener una representación gráfica distinta para cada animal, por tanto debemos crear una clase Animal, del tipo CCSprite.
@interface Animal: CCSprite { int numeroDePatas; bool tienePlumas; bool tienePelo; bool tienePico; bool tieneTrompa; bool tieneAlas; } -(void) saluda; @protocol Especializacion -(void) desplazate; @end