Download Diapositivas - academicos.azc.uam.mx
Document related concepts
Transcript
Unidad 2 Elementos Intermedios del Lenguaje Paradigmas de Programación z Un paradigma de programación se refiere a la forma en que se entiende, diseña y desarrolla una aplicación z z z z Imperativo Declarativo Funcional Orientado a Objetos Paradigma Orientado a Objetos z z z Lleva al proceso de programación llamado Programación Orientada a Objetos (OOP) Las unidades de datos son vistas como objetos en lugar de unidades pasivas Cada objeto es implementado como una unidad bien definida y separada del resto Conceptos Fundamentales Abstracción z Clase z z En la programación orientada a objetos, se entiende la palabra clase, como un tipo de dato que a diferencia de un tipo de dato básico, se define en el contexto de un problema Objeto z Un objeto es la instancia de una clase. Esto a grandes rasgos significa que todos los objetos son de un cierto tipo o más bien de una cierta clase Interfaz de una Clase z z Una vez que se ha creado una clase, se pueden construir tantos objetos como se necesiten para la solución del problema, para comunicar un objeto con otros, se maneja el concepto de interfaz Los elementos de una interfaz son: z z Atributos, datos miembro o campos Métodos Atributos z z También conocidos como datos miembro o campos, puede ser un objeto de cualquier tipo con el que se puede tener una comunicación, también puede ser un dato primitivo Si es un objeto, primero debe inicializarse para conectarse a un objeto real, si es un tipo primitivo, es posible inicializarla al momento de definir la clase Métodos z También conocidas como funciones miembro, determinan los mensajes que pueden recibir un objeto. Las partes fundamentales de un método son: z z z z Tipo de retorno Nombre del método Lista de parámetros Modificadores Firma de un Método z Firma z z La firma de una operación se define por el tipo y número de argumentos y el tipo de resultados que devuelve Parametrización z La parametrización de una operación está definida por el número y tipo de argumentos de cada método Sobre Carga de Métodos z z z z Es posible tener métodos con el mismo nombre Se deben distinguir en base al tipo de los parámetros que reciben Los parámetros deben ser diferentes o en orden diferente No se distinguen por el tipo de dato de retorno Métodos Constructores z z z Es un método especial que garantiza que cada objeto se inicialice El nombre del constructor es el nombre de la clase Existe un constructor por defecto que no es necesario incluir a menos que se esté manejando la sobre carga del constructor Acceso a Métodos z Desde la misma clase z z Los métodos de una clase pueden ser accedidos solo utilizando el nombre del método siempre y cuando se invoque desde la misma clase Desde otras clases z Para tener acceso a los métodos de una clase diferente, se utiliza el operador punto, es decir: objeto.nombreMetodo(parámetros) Paquetes z z z z Es el principio para la reutilización de clases Un paquete puede contener varias clases con nombres únicos Los nombres de los paquetes deben ser únicos Es conveniente crear un paquete que agrupe a clases con comportamiento similar Visibilidad z z Establece la proporción en que otras clases podrán acceder a los atributos o utilizar las operaciones de una determinada clase Tipos de visibilidad: z z z z Pública Privada Protegida Amistosa Visibilidad Pública y Privada z z Los elementos declarados como públicos (public) son accesibles tanto desde fuera como desde dentro de la clase Los elementos declarados como privados (private) son accesibles sólo desde la misma clase donde fueron definidos Visibilidad Protegida y Amistosa z z Los elementos declarados como protegidos (protected) son accesibles desde la misma clase donde fueron definidos y en sus subclases o clases heredadas Es el modificador por defecto, cuando no se especifica ninguno, en este caso, un tipo de dato friendly o amistoso solo puede ser visto por las clases que están en el mismo paquete Conceptos Avanzados Herencia z z z La herencia es una parte integral de los lenguajes de programación orientada a objetos Permite que una clase herede las propiedades (atributos y métodos) de otra clase La herencia se indica con la palabra reservada “extends” Sintaxis de la Herencia z z z z La sintaxis es la siguiente: class ClaseNueva extends claseVieja La clase de la que se hereda es conocida como clase base o padre La clase de la que se hereda es conocida como clase derivada o hija Algunos lenguajes de programación orientada a objetos permiten el concepto de herencia múltiple, es decir que una clase pueda heredar de varias clases La Palabra Reservada “Super” z Dado que la clase padre y la clase hija tendrían los mismos métodos y atributos, debe ser posible diferenciar cuando se quiere tener acceso a unos u otros, para esto se utiliza la palabra reservada “super” que hace referencia a la clase padre Interfaces z z La palabra interface lleva el concepto de abstracción un paso mas allá, permite al creador establecer la forma de una clase: nombres de métodos, listas de parámetros y tipos de retornos, pero no los cuerpos de los métodos Una interfaz proporciona solo la forma, pero no la implementación Creación de una Interface z z Se utiliza la palabra clase (interface) en vez de la palabra clave (class), al igual que una clase solamente se puede colocar el modificador public a la interfaz Los métodos de una interfaz son públicos de manera automática Implementaciones z z z Para hacer una clase que se ajuste a una interfaz particular (o a un grupo de interfaces) se utiliza la palabra reservada (implements) Con esto se está indicando que la interfaz contiene la apariencia, pero ahora se estará especificando como funciona Una vez que se ha implementado la interfaz, esa implementación se convierte en una clase ordinaria que puede extenderse (heredarse) de forma normal Diseño Orientado a Objetos Modelo Vista Controlador z z z z Es un patrón de arquitectura de software que separa los datos, la parte gráfica y la lógica de negocio en tres partes: Modelo. Clases con la información que el sistema maneja y las operaciones Vista. La parte gráfica del sistema Controlador. Responde a introducidos por el usuario Modelo z z z z Clases de negocio Clases encargadas de realizar las operaciones que involucran las acciones a ejecutar para resolver un problema Clases planas Son aquellas clases que solo contienen atributos y métodos para acceder a ellos ya sea para leer su información o para modificarla