Conceptos Básicos del Paradigma Orientado a Objetos Programación II M.C Yolanda Moyao Martínez 1
POO Se tiene un conjunto de objetos que interactúan entre sí a través de mensajes y en donde cada uno de los objetos es responsable de su propio estado
POO La POO nació en 1969 con el Dr.Kristin Nygaard pues trató de describir el movimiento de los barcos. Se dio cuenta que era muy difícil simular del mundo real(mareas, formas de líneas de costas y los movimientos de los barcos) con los métodos de programación existentes.
POO Era mas fácil adecuar el mundo real a la computadora que al revés. El primer lenguaje OO fue Simula 67
Ejemplo Las partes de una coche pueden ser internamente muy complejas pero lo importante es como interactúan entre si
Programa Orientado a Objetos Un programa OO se forma de muchos componentes independientes(objetos) y diferentes cada uno con funcionamiento específico y que se comunican o dan respuesta a solicitudes (mensajes) de los demás
Mundo OO vs programación estructurada
POO Vs Programación estructurada Encapsula datos y métodos Clase es la unidad de programación Orientado a acciones. Función es la unidad de programación
Ejemplo: Algoritmo en POO Encender un auto 1. Identificar los objetos llave, switch, clutch, palanca de velocidades 2. Relacionarlos de acuerdo a su funcionalidad a. poner palanca de velocidades en neutral b. colocar la llave dentro del switch c. presionar el clutch al fondo d. girar llave a la derecha hasta topar y soltar suavemente e. si el auto encendió. Fin del algoritmo f. Caso contrario. Girar llave a posición inicial, esperar 2 seg. Y repetir inciso d.
Práctica 1 En equipos de 4 resuelve los problemas. 1. Preparar una torta 2. Pintar una mesa Analicen el problema e identifiquen en una lista todos los objetos. Usando los objetos de acuerdo a su funcionalidad, escriban un algoritmo para resolver el problema.
POO La Programación Orientada a Objetos es un paradigma de programación que usa los objetos en sus interacciones, para diseñar programas. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento.
Elementos Abstracción Objeto Encapsulamiento Clase Jerarquía Herencia Modularidad Polimorfismo
Abstracción Hay muchas aves diferentes pero cuando vemos una en particular la podemos reconocer inmediatamente aunque nunca la hayamos visto antes. Qué es una ave? Descríbela!!!!!
Todas son aves?
Ave vertebrado de sangre caliente, provisto de pico y alas, con el cuerpo cubierto de plumas, que se reproduce por huevos y tiene respiración pulmonar y circulación doble y completa.
Abstracción Se centra en las características esenciales de algún objeto, en relación a la perspectiva del observador
Abstracción Aislar un elemento de su contexto o del resto de los elementos que lo acompañan, identificando sus características esenciales que lo distinguen de los demás. Capacidad de conceptualizar entidades genéricas de información a partir de cosas concretas.
Práctica 2 En equipo de 4 realiza la abstracción de cualquier objeto que taigas como relos, mochila, etc. Escribe en una hoja el nombre y la descripción del objeto.
TDA La técnica de la abstracción de datos establece que al diseñar una nueva estructura de datos, ésta pasa a ser un Tipo de Dato Abstracto (TDA) Podrá implementarse en cualquier lenguaje y aplicarse en cualquier concepto
TDA
Clase y Objeto Objeto es una entidad tanto tangible como intangible, que se puede imaginar y que tiene un estado, un comportamiento y una identidad. M.C Yolanda Moyao Martínez 21
Ejemplos seguro es un objeto intangible que tiene propiedades tales como tipo de cobertura, costo, vigencia, etc. Además tiene cierto comportamiento tal que este puede ser contratado, renovado, cancelado, modificado, etc.
Ejemplo mesa es un objeto tangible que tiene propiedades tales como tipo de color, largo, ancho, etc. Además tiene cierto comportamiento tal que esta puede ser pintada, restaurada, cortada, modificada, etc. MESA
Clase Clase es un tipo de molde o plantilla que dicta lo que los objetos pueden o no hacer. Es un conjunto de objetos que comparten una estructura y un comportamiento. Animales
Ejemplo Servicios es una clase que define objetos que tienen propiedades tales como tipo de cobertura, costo, vigencia, etc. Además tienen cierto comportamiento tal que estos puede ser contratados, renovados, cancelados, modificados, etc. Servicios +Tipo_Cobertura +Costo +Vigencia +Contratar() +Renmovar() +Cancelar() +Modificar() M.C Yolanda Moyao Martínez 25
Estado Posibles condiciones en que un objeto puede existir. El estado de un objeto puede cambiar durante el tiempo.
Atributos Atributos son los datos necesarios para describir los objetos creados a partir de alguna clase en particular. M.C Yolanda Moyao Martínez 27
Ejemplo el objeto SEGURO_MEDICO es identificado por los atributos: tipo de cobertura, costo, vigencia, etc. M.C Yolanda Moyao Martínez 28
Método Método es una secuencia de instrucciones que una clase u objeto sigue para realizar una tarea. Es un conjunto de operaciones que manipulan a los atributos del objeto. M.C Yolanda Moyao Martínez 29
Ejemplo En la clase Servicios los métodos que manipulan a los atributos de los objetos son: contratar, renovar, cancelar, modificar, etc M.C Yolanda Moyao Martínez 30
Creación de objetos Una vez que una clase se modela o se define, es posible crear o instanciar uno o más objetos que se identifican con dicha clase.
Mensaje Es una instrucción que se envía a un objeto, el cual se ejecutará al recibirlo; Incluye el identificador que contiene la acción a realizar por el objeto. Incluye los datos que este necesita para efectuar su trabajo.
Ejemplo calcular_area(b,h)
Encapsulamiento Significa reunir en cierta estructura todos los elementos que a determinado nivel de abstracción, se pueden considerar de una misma entidad. Oculta lo que hace un objeto de lo que hacen otros objetos del mundo exterior
Encapsulamiento Esconder detalles de como funciona algo, detrás de una interfaz. El usuario no se ve afectado si se cambia el funcionamiento interno del objeto mientras no se cambie la interfaz.
Ejemplo En el objeto vehículo el encapsulamiento significa que el conductor cuando frena, no necesita conocer el sistema de frenado.
Práctica 3 En equipo de 4 realiza el modelado para las calases: aparatos_electrónicos,animales, medios_de transporte Propón 3 clases y modélalas.
Estado El estado de un objeto lo establecen los valores de los atributos y los enlaces que el objeto pueda tener con otros objetos.
Objeto
Comportamiento Determina como un objeto actúa y reacciona a las peticiones de otros objetos. Se modela con un conjunto de mensajes a los que puede responder
Identidad Cada objeto tiene identidad única, aunque en un momento dado el estado puede ser idéntico al de otros objetos Vuela Vuela
Clases Describe un grupo de objetos que tienen Propiedades en común (atributos) Comportamiento común(métodos) Relaciones comunes con otros objetos(asociación)
Ejemplo: Clase planetas Atributos Tamaño Número de lunas Tiemperatura Tiene modelo Métodos Nace Muere Se traslada
Clases V.S. Objetos La clase es una definición abstracta de los objetos. Define su estructura y comportamiento Sirve como plantilla para crear objetos Un objeto es una instancia concreta de una clase(ejemplar). Los objetos se agrupan en clases
Ejemplo Objeto tierra Clase planetas
Clase Lavadora Lavadora Marca Modelo Capacidad Programar Poner Agua Cerrar puerta Lavar Atributos Métodos
Herencia Jerarquía de abstracciones o clases. Define una relación entre clases. Proceso mediante el cual un objeto adquiere propiedades de otro. Es un mecanismo para modelar dos o más entidades que son diferentes pero que comparten muchas características.
Ejemplo
Clase Padre Superclase o clase base es aquella que contiene los atributes comunes de las entidades. La clase Hija, subclases o derivadas son todas las clases que heredan a la case padre.
Que hereda? La clase hija hereda atributos y comportamiento de su superclase Además añade nuevos atributos y comportamientos o se modifican algunos de los ya heredados.
Ejemplo Características propias del tulipán Agrega Color Crece Altura Agrega Numero de hojas
Herencia- es un Semánticamente la herencia, denota una relación es un Por ejemplo, una casa es un inmueble el tulipán es un angiosperma La herencia implica una jerarquía de generalización/especialización en la que una subclase especializa el comportamiento o estructura más general de sus superclases.
Ejemplo
Polimorfismo Es la propiedad que le permite a una operación o función tener el mismo nombre en clases diferentes y actuar de modo distinto en cada una de ellas Implica la capacidad de una operación de ser interpretada solo por el propio objeto que la invoca.
Ejemplo
Ejemplo