Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje

1 Conceptos Objeto Clase Atributo / Método Encapsulamient...
Author: Marianela Loza
0 downloads 3 Views

1 Conceptos Objeto Clase Atributo / Método Encapsulamiento MensajeHerencia Polimorfismo Encadenamiento Dinámico

2 Objeto Representa una instancia de un elemento del mundo del problemaEs cualquier elemento que se pueda describir en términos de su estado y su comportamiento

3 Características de los ObjetosPueden ser: Cosas Sencillos y Complejos Reales o imaginarios(conceptuales) Ej. Cuenta bancaria, transacción, Juan, Leon,etc.

4 Implementación ocultaRepresenta elementos internos de un objeto que pueden ser dañadas por un cliente poco cuidadoso.=> ocultar la implementación disminuye errores. El diseñador de bibliotecas puede cambiar el funcionamiento interno de la clase sin preocuparse sobre cómo afectará al programador cliente

5 Clases Agrupa un conjunto de objetos del mundo del problema que tienen las mismas características y el mismo comportamiento Son plantillas para crear objetos. Un objeto es una instancia de una clase Ej. Receta para hacer galletas de chocolate. Con ella creas una o muchas galletas de chocolate

6 Atributo / Método

7 Atributos Describen el estado de un objeto Objetos simplesTipos de datos primitivos Ej. int, float, double, char, etc Objetos Complejos Referencias a otros objetos Ej. Estructuras de datos u otros objetos

8 Visibilidad de los Atributos - EncapsulamientoPública : Los otros objetos pueden referenciar directamente el atributo

9 Visibilidad de los Atributos - Encapsulamiento (cont.)Privada : solo el objeto puede referenciar directamente sus atributos

10 Visibilidad de los Atributos - EncapsulamientoTodos los atributos deben tener visibilidad privada EL RESTO DE OBJETOS NO CONOCEN LOS DETALLES DE LA IMPLEMENTACION

11 Métodos Son servicios que describen el comportamiento asociado a un objeto Pueden conducir al cambio del estado de un objeto Se activa por medio de un mensaje al objeto Métodos se pueden llamar entre ellos Es posible darles visibilidad (Pública, Privada)

12 Tipos de Métodos ConstructoresBuses( rojo, AAA, 20 ) Buses( amarillo, XXX, 20)

13 Tipos de Métodos (cont.)Analizadores: Permiten obtener el estado

14 Tipos de Métodos (cont.)Modificadores: Permiten cambiar el estado

15 Tipos de Métodos (cont.)Destructores : permiten eliminar un objeto

16 Mensaje Mecanismo de comunicación ente objetos para solicitar servicios

17 Herencia Construir un objeto a partir de otro - Usar atributos y métodos de antecesor Ventaja >> Reutilización Persona Estudiante Pregrado Magister Especialización Instructor Asistente Generalización

18 Herencia (cont.) Permite definir una clase en función de otraSuperclase Subclase Redefinir Métodos Agregar atributos

19 Herencia (cont.) Agregar Atributos Persona Estudiante PregradoMagister Especialización Instructor Asistente Promedio: float

20 Herencia (cont.) Agregar métodos Persona Estudiante Pregrado MagisterEspecialización Instructor Asistente estaAprobando():Boolean Promedio: float

21 Herencia (cont.) Redefinición de métodos Persona estaAprobando()Estudiante Magister Promedio: float estaAprobando() {If Promedio>=3.0 return TRUE; else return FALSE} {If Promedio>=3.75

22 Visibilidad y HerenciaHereda? Puede Acceder? Public Si Private No

23 Visibilidad ProtegidaPersona Estudiante Magister Promedio: float Las instancias de magíster pueden referenciar directamente el atributo promedio de la instancia padre estudiante

24 Polimorfismo Habilidad para adoptar formas distintas PersonaEstudiante Magister Objeto Magister Objeto Persona Objeto Estudiante: Métodos de persona y estudiante Métodos de persona, estudiante y magister

25 Contenedor PolimorficoColección de Personas (Arreglo) Estudiante (Juan Pérez) Pregrado (Margarita Rojas) Magister (María Rodríguez) Especialización (Carlos Ruiz)

26 Encadenamiento Dinámico

27 Encadenamiento Dinámico

28 Sobrecarga de métodos Métodos dentro de una misma clase que tienen el mismo nombre pero distinta firma No rebuscar nombres de métodos para operaciones similares

29 Sobrecarga de métodos Buses() valores por defecto: Color=rojo, Placa=AAA, Cap=20 Buses( amarillo, XXX, 20)

30 Interface Expone un conjunto de métodos sin definirQuien la implementa es responsable de la programación de los métodos expuestos y por tanto expone todos los métodos de dicha clase

31 Clase Abstracta Es una plantilla para otras clasesNo es posible crear instancia >> Es abstracta Expone métodos implementados que pueden ser redefinidos con base en la herencia Expone métodos abstractos Deben ser redefinidos en Subclases Modelan funcionalidad