Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico

Conceptos z z z z z z z z Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico Objeto z Representa

3 downloads 103 Views 543KB Size

Story Transcript

Conceptos z z z z z z z z

Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico

Objeto z Representa una instancia de un elemento p del mundo del problema z Es cualquier elemento que se pueda describir en términos de su estado y su comportamiento

Características de los Objetos z Pueden ser: { Cosas { Sencillos y Complejos { Reales o imaginarios(conceptuales)

z Ej. Cuenta bancaria, transacción, Juan, , Leon,etc.

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

Clases zAgrupa un conjunto de objetos del mundo problema q que tienen las mismas del p características y el mismo comportamiento zSon plantillas para crear objetos objetos. zUn objeto es una instancia de una clase z Ej. Receta para hacer galletas de chocolate Con ella creas una o muchas chocolate. galletas de chocolate

Atributo / Método Atributos

Métodos

Color

Arrancar()

Placa

Detenerse()

Capacidad

Recoger pasajeros()

Atributos z Describen el estado de un objeto z Objetos Obj t simples i l { Tipos de datos primitivos { Ej. int, float, double, char, etc

z Objetos Complejos { Referencias a otros objetos { Ej. Ej E Estructuras t t de d datos d t u otros t objetos bj t

Visibilidad de los Atributos Encapsulamiento z Pública : Los otros objetos pueden referenciar directamente el atributo

Colo

Obj t Conductor Objeto C d t

lo l i r a m r=a

* color * placa * capacidad

* amarillo * XXX * 50

Obj t Bus Objeto B

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

Colo

Objeto Conductor

X

lo l i r a m r=a

* color * placa l * capacidad

* amarillo * XXX * 50

Objeto Bus

Visibilidad de los Atributos - Encapsulamiento z Todos los atributos deben tener visibilidad privada z EL RESTO DE OBJETOS NO CONOCEN LOS DETALLES DE LA IMPLEMENTACION * color * placa * capacidad

S et

C ol or (

am a rill o)

* amarillo * XXX * 50

Comportamiento setColor (color) getColor (): color

Objeto Conductor

Objeto Bus

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

Tipos de Métodos z Constructores B Buses( ( rojo, j AAA AAA, 20 ) B Buses(( amarillo, ill XXX XXX, 20)

CLASE DE BUSES Color ESTADO Placa

COMPORTAMIENTO

Buses (color, placa, capacidad) Buses ()

Capacidad

objetos

Tipos de Métodos (cont (cont.)) z Analizadores: Permiten obtener el estado * color * placa * capacidad p

Col or =

g et

Col or

* amarillo * XXX * 50

Comportamiento getColor (): color getCapacidad()int getPlaca():Placa

Objeto Conductor

Objeto Bus

Tipos de Métodos (cont (cont.)) z Modificadores: Permiten cambiar el estado * color * placa * capacidad

se t Col or

(am

ari ll

o)

* amarillo * XXX * 50

Comportamiento setColor(color) setCapacidad(capacidad) setPlaca(placa)

Objeto Conductor

Objeto Bus

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

des tr oy () Comportamiento destroy()

Objeto Conductor

Objeto Bus

Mensaje z Mecanismo de comunicación ente objetos para solicitar servicios Color:

Amarillo

Placa:

Xxx

Capacidad:

50

Comportamiento

Objeto Conductor

Buses(color,placa, capacidad) Buses() getColor().Color g () getPlaca():Placa getCapacidad()int setColor(color) setPlaca(placa) setCapacidad(capacidad) y() destroy()

Objeto j Bus

Herencia z Construir Co s u u un obje objeto o a pa partir de o otro o - Usa Usar atributos y métodos de antecesor z Ventaja >> Re Reutilización tili ación Persona E t di t Estudiante Pregrado g

Magister g Instructor

Asistente

Especialización p

Herencia (cont (cont.)) z Permite definir una clase en función de otra Superclase

Subclase Agregar atributos

Agregar Métodos

Redefinir Métodos

Herencia (cont (cont.)) z Agregar Atributos Persona Promedio: float Estudiante Pregrado

Magister Instructor

Asistente

Especialización

Herencia (cont (cont.)) z Agregar métodos

estaAprobando():Boolean p ()

Persona Promedio: float Estudiante

Pregrado

Magister Instructor

Asistente

Especialización

Herencia (cont (cont.)) z Redefinición de métodos estaAprobando() {If Promedio>=3.0 Promedio>=3 0 return TRUE; else return FALSE}

Persona Promedio: float Estudiante Magister

estaAprobando() {If Promedio>=3.75 return TRUE; else return FALSE}

Visibilidad y Herencia

Visibilidad Hereda?

Puede Acceder?

Public

Si

Si

Private

Si

No

Visibilidad Protegida Persona Promedio: float Estudiante Magister

z Las instancias de magíster pueden referenciar directamente el atributo promedio de la instancia padre estudiante

Polimorfismo z Habilidad para adoptar formas distintas Persona Estudiante

Objeto Persona Objeto Estudiante: Métodos de persona y estudiante

M i t Magister Objeto Magister

Métodos de persona, estudiante y magister

Contenedor Polimorfico z Colección de Personas (Arreglo)

Estudiante (Juan Pérez) Pregrado (Margarita Rojas) Magister (María Rodríguez) Especialización (Carlos Ruiz)

Encadenamiento Dinámico VEHÍCULO

BUS Int calculeCapacidad() { return numerosillas *2+1; }

Int calculeCapacidad() { return 0; }

AUTOMOVIL Int calculeCapacidad() { return numerosillas *3; }

Encadenamiento Dinámico VEHICULO_1 VEHICULO_2 VEHICULO_3 VEHICULO_4 VEHICULO_5

Z = ARREGLO [3].calculeCapacidad() Automovil.calculeCapacidad()

VEHICULO_3

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

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

CLASE DE BUSES Color ESTADO Placa

COMPORTAMIENTO

Buses (color, placa, capacidad) Buses ()

Capacidad

objetos

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

Clase Abstracta zEs E una plantilla l till para otras t clases l zNo es p posible crear instancia >> Es abstracta zExpone métodos implementados que pueden ser redefinidos con base en la herencia zExpone métodos abstractos { Deben D b ser redefinidos d fi id en S Subclases b l { Modelan funcionalidad

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.