si está familiarizado con la programación orientada a objetos, omita esta sección.
La programación Objective-C se basa en el concepto de código que representa objetos de la vida real. Las representaciones de objetos programáticos pueden ir desde cadenas (representación de texto—una cadena de caracteres), hasta etiquetas, e incluso personas. En Objective-C, los objetos son miembros de sus clases. Un único objeto, o representación de una clase, se llama una instancia de esa clase. Cada instancia de una clase tiene propiedades, cosas que la definen y caracterizan., Además, cada instancia tiene métodos o cosas que puede hacer. Todo esto es bastante confuso para un principiante, así que explicaré estos conceptos con un ejemplo del mundo real: ¿Qué hay de las personas?
tú y yo somos cada uno una persona. Tenemos millones de características que nos definen, pero ambos somos personas. Tenemos ojos, oídos, personalidades, gustos, etcétera. Además, todos podemos hacer cosas. Podemos expresar emociones, cantar canciones, reír you ya te imaginas. Así que si nos caracterizáramos programáticamente, podríamos decir que nuestra clase es persona., Nuestras características, como el color de los ojos, el color del cabello y el tipo favorito de automóvil, son propiedades. Finalmente, nuestras habilidades, como hablar, reír y codificar, son métodos.
los Programadores crear clases con el fin de gestionar la relación entre lo que el equipo está haciendo y lo que quiere lograr en la vida real. Un desarrollador puede crear una clase PickupTruck para representar un camión en su programa., En el programa, podría crear una instancia de PickupTruck, con propiedades como el color, el año de producción y el tamaño de la cama. Además, puede hacer que el camión haga cosas, como conducir, repostar y reducir la velocidad. Las posibilidades son infinitas.
jerarquía de clases y herencia
La programación orientada a objetos se complica con las ideas de jerarquía de clases y herencia. La jerarquía de clases es la noción de que una clase puede derivar sus propiedades y métodos de su padre, o superclase, mientras que es capaz de implementar nuevas propiedades y métodos., Herencia es solo otro término para la jerarquía de clases – una clase hija hereda propiedades y métodos de su clase padre. Para explicar más, voy a añadir mi ejemplo de camioneta pickup.
empecemos con la clase PickupTruck. Tiene rasgos básicos (Capacidad, Año de producción y tamaño de la cama) y habilidades (conducir, repostar y reducir la velocidad). Así como llamar a un vehículo una camioneta en la vida real es una generalización, una instancia de PickupTruck en nuestro ejemplo es bastante general, también.
Ahora vamos a añadir una clase hija—FordPickupTruck., Heredará todas las propiedades de PickupTruck, ya que tiene un color, Año de producción y tamaño de la cama. Además, hereda los métodos de PickupTruck: puede conducir, repostar y ralentizar. Pero como FordPickupTruck es una representación más específica, tiene más propiedades y métodos. Una instancia de FordPickupTruck tendrá un nombre de modelo – un rasgo demasiado específico para un PickupTruck general. También podemos agregar una habilidad, digamos que una instancia de fordpickuptruck puede remolcar, algo que no todos los Pickuptruck pueden hacer.,
una clase padre puede tener una cantidad ilimitada de clases hijas, que a su vez pueden tener una cantidad ilimitada de clases hijas y así sucesivamente. El patrón de herencia de una clase puede ser lineal, o puede ramificarse infinitamente.,
mediante Programación, jerarquía de clases y la herencia puede parecer confuso. Sin embargo, si les das ejemplos del mundo real, se volverán mucho más simples, y por lo tanto serás más capaz de entenderlos. Esto es cierto para muchos conceptos difíciles en Ciencias de la computación.