Conceptos estructurales y de comportamiento básicas en diseño orientado a objetos para aplicaciones de ios

diseño orientado a objetos tiene ambos conceptos estructurales y de comportamiento que son muy útiles en aplicaciones de iOS. diseño orientado a objetos es una forma diferente de diseño de programas, en los que el comportamiento está asociado con objetos. Los siguientes definir y explicar la terminología OO núcleo, mientras que la incorporación de conceptos adicionales que completan los componentes básicos de la OO.

Objeto

Un objeto es un individuo, elemento de identificación personal, ya sea real o abstracta, que contiene datos sobre sí mismo y descripciones de sus manipulaciones de los datos. En otras palabras, un objeto podría ser cualquiera

  • Algo real y tangible, como los artículos en una cocina

  • Un concepto puro, como un concepto matemático, como una integral

La identificación de objetos es el primer paso en el análisis de un dominio.

Cada objeto se considera una instancia de una clase.

Clase

UN clase es una descripción de la organización y las acciones que comparten uno o más objetos similares.

Video: Ejercicio práctico de aplicación de conceptos de POO en Ruby

UN tipo Es un concepto similar a la de la clase, y que a menudo estamos acostumbrados indistintamente. Dentro de los lenguajes de programación, una clase también tiene un significado técnico. Es un modelo de un objeto, a través del cual se pueden crear nuevos objetos. Sin embargo, el concepto de un tipo separado de la de una clase es capturado en muchos lenguajes de programación (pero no de Objective-C) por una construcción de programación llamado interfaz.

La orientación a objetos también tiene el concepto de una metaclase, cuyas instancias son clases. Hay una metaclase en Objective-C denominado Clase.

Abstracción

Al identificar las clases de objetos y sus capacidades no tienen en cuenta las clases o capacidades que no eran relevantes para el dominio de la actividad. Por ejemplo, es poco probable que hubiera traído en una clase para representar la capacidad de una taza de té para ser lanzado si usted fuera a diseñar un programa de hacer té.

Este tipo de modelo, donde se ignora lo que es irrelevante para centrarse en lo que es relevante para un dominio particular se conoce como abstracción. La abstracción es el acto de la identificación de las clases (y tipos) necesarios con el fin de recortar a aquellos aspectos que son relevantes para el problema.

Generalización

El concepto de generalización se ejemplifica en la relación entre el recipiente de clases y la taza de té. La generalización en un lenguaje de programación se demuestra a través de un mecanismo conocido como herencia, que permite que los datos y el comportamiento de una clase que se incluirán en o usadas como base para otra clase.

Video: 20.-Curso PHP-MySQL. PHP Orientado a Objetos

Varios lenguajes de programación tienen una clase raíz del cual se heredan todas las clases. En el marco de Objective-C, la clase se llama NSObject. NSObject es equivalente a la clase de objeto en Java.

UN subclase es una clase que hereda toda la funcionalidad de otra clase (conocido como el superclase). Además, la subclase puede anular funcionalidad específica, proporcionando su propia implementación de ciertos métodos. El método de la superclase todavía puede ser llamado desde el método predominante, si al hacerlo tiene sentido. También puede ampliar la funcionalidad de la superclase proporcionando métodos adicionales, utilizando variables miembro adicionales, y así sucesivamente.

Video: Video Patrones de Diseño

Del mismo modo, un tipo (una interfaz) También puede extenderse utilizando un subtipo. Aquí, no hay funcionalidad es overridden- es sólo que el subtipo tiene más métodos que un objeto debe implementar.

Un objeto típicamente almacena los datos, también conocidos como su estado. Este estado se almacena en los titulares de datos conocidos como atributos.

Objetos (según la definición de clases) también tienen capacidades. UN método es una manera de acceder a esa capacidad - en otras palabras, para ejecutar un conjunto de instrucciones que establecen o manipular los atributos de un objeto.

Otros objetos causan estos métodos para ser ejecutados. Lo hacen a través de paso de mensajes, que es el proceso por el cual un objeto envía datos a otro objeto o pide el otro objeto para invocar un método. El paso de mensajes que ocurre cuando otro objeto llama al método de un objeto. La ejecución de un programa por lo general comienza con la convocatoria de una función o un método llamado principal dentro de una clase específica.

El proceso de abstracción se traduce en la creación de clases y tipos. Las clases y los tipos tienen una característica más: Se restringen su uso sólo a través de sus métodos y atributos de acceso público. Esto se conoce como encapsulación, una técnica para el diseño de clases y objetos que restringe el acceso a los datos y el comportamiento mediante la definición de un conjunto limitado de mensajes que un objeto de esa clase puede recibir.

La encapsulación impide el acceso a la parte interna de una clase y evita los detalles de cómo la clase se implementa de ser conocido. hace cumplir encapsulación ocultación de información, Otro concepto clave en la orientación a objetos.

Abstracto clases sólo sirven como especificaciones para ser reutilizados por otras clases. No se pueden crear objetos de clases abstractas. Clases de las que se pueden crear objetos se conocen como hormigón clases. Por supuesto, las interfaces son siempre abstracto.

Una aplicación consiste en una colección de clases de diversos tipos. Los objetos de estas clases interactúan entre sí para implementar las funciones de la aplicación. Las clases que interactúa con una clase que se conoce como su colaboradores.

Polimorfismo es la capacidad de diferentes clases para responder al mismo mensaje, con cada clase que implementa el método apropiado. La siguiente línea tomada de MakeDrinkableFood ilustra este concepto:

 For (i = 1- ilt; = NumberOfEatingVessels- i ++) HeatingVessel.Pour (([EatingVessel objectAtIndex: i) -

Cuando se está haciendo el té, EatingVessel está ligado a un objeto Caldera. Cuando se está haciendo sopa, EatingVessel está enlazado a un objeto sopera.

Video: Fundamentos del diseño web: Tráiler | video2brain

Es útil para separar estos conceptos en los conceptos estructurales que le dicen algo acerca de la composición del programa y los conceptos de comportamiento que indican algo acerca de cómo funciona el programa. Los conceptos de abstracción, encapsulación, metaclase, clase, tipo, objeto, herencia, y la interfaz son todos los conceptos estructurales. Los conceptos de un método, paso de mensajes, y el polimorfismo son conceptos de comportamiento.

Artículos Relacionados