Programación Orientada a Objetos (POO)

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Curso de Java Capitulo 7: Continuación Poo Profesor:
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Definición de Clases y Variables de referencia.
POLIMORFISMO UNIDAD 4.
PROGRAMACION ORIENTADA A OBJETOS
Lenguaje de programación Java
UML 1.4 Peter Emerson Pinchao Solis.
ALGORITMICA II - Tipos Abstractos de Datos (TAD)
Arquitectura CLARO-TECNOTREE
Orientación a Objetos con Java SE
Programación Orientada a Objetos
Introducción a la Orientación a Objetos
Programación Orientada a Objetos (P.O.O.)
El proceso de desarrollo de software
La Programación Orientado a Objetos
Fundamentos de Ingeniería de Software
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
PROGRAMACION ORIENTADA A OBJETOS
Presentación Adptada Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N.
Encapsulamiento y Abstracción
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
Programación orientada a objetos Rosemary Torrico Bascopé.
POO (Programación Orientada a Objetos)
HERENCIA.
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Material de apoyo Unidad 2 Fundamentos de programación
Diagramas de Clase Angela Carrillo R..
Fundamentos de Programación
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Programación Orientada Objetos
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
PROGRAMACION ORIENTADA A OBJETOS POR OVER YESID BARRERA FERNANDEZ.
Programación Orientada a Objetos (P.O.O.)
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Introducción a la Programación Orientada a Objetos (POO)
Metodología de Programación Clase 1 Leonel Lagos V
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Programación orientada a objetos
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
PROGRAMACIÓN IV INTRODUCCIÓN.
Abstracción El concepto de abstracción es esencial en ciencias de la computación. Un programa es en sí mismo una abstracción, un modelo de la resolución.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
Modelado UML Diagrama de Clases
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Cómo empezar Java. ¡Cómo se divide la plataforma de desarrollo de Java?  Edición estándar (JSE)  Edición empresarial (JEE)  Edición de dispositivos.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Silvia Herzovich – Gabriel Weinstein – Matías Silversteyn 5to BTO SPI II.
Transcripción de la presentación:

Programación Orientada a Objetos (POO) Mtra. Carolina Galaviz I. CBTIS No. 37 DSAUPOO

Mtra. Carolina Galaviz I. CBTIS No. 37 POO Cuando se escribe un programa de computación en un lenguaje de programación orientado a objetos está creando en su computadora un modelo de alguna parte del mundo real. Las partes con que se construye el modelo provienen de los objetivos que aparecen en el dominio del problema. Estos objetos deben estar representados en el modelo computacional que se está creando. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 POO Un programa en Java, está formado por objetos que interactúan entre sí. Y objetos que usan objetos para lograr un fin. Ejemplo: Jefe Trabajador1 Trabajador4 Trabajador5 trabajador2 trabajador3 Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Clases y objetos Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 POO Los objetos son la materia prima en un sistema orientado a objetos. Los objetos pueden ser vistos como mini abstracciones de componentes del mundo real. Los objetos pueden ser organizados y una clase describe, en forma abstracta, todos los objetos de un tipo en particular. Mtra. Carolina Galaviz I. CBTIS No. 37

Un objeto está construido de la siguiente manera: ATRIBUTOS METODOS Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Objeto: Son características que definen al objeto: datos. Son acciones, operaciones que sirven para modificar los datos que están relacionados con el objeto. ATRIBUTOS METODOS Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Clase Para crear un objeto es necesario un molde, a ese molde se le llama: Clase. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Ejemplo: Se desea crear un sistema de inscripciones, se realizará una abstracción de la clase: Alumno. Las características más relevantes para el sistema son: Nombre Materias No. Control Fecha de Nacimiento Dirección Promedio Tutor ATRIBUTOS METODOS Capturar Nombre Inscribir Materia Asignar No. Control Capturar fecha de nacimiento Capturar Dirección Obtener promedio Mtra. Carolina Galaviz I. CBTIS No. 37

Objeto de la clase: Alumno Nombre: Bryan Jiménez Materias: DSAUPOO, Ingles3, BD2 No. Control: 000123 Fecha de Nacimiento: 18011995 Dirección: Benito Juárez 123 Promedio: 9.1 Tutor: Esthela García Entonces: La clase es la generalización de un grupo de objetos, el objeto es una instancia de la clase. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Objeto: Los diferentes objetos de una clase, tienen los mismos cambios; es decir que el número, el tipo de dato y los nombres de los campos de una misma clase son los mismos, mientras que el valor de un campo particular de cada objeto puede ser distinto. Los objetos de clases diferentes pueden tener diferentes campos. Ejemplo: Un circulo tiene un campo “diametro”, mientras que un triangulo tiene los campos “ancho” y “alto”. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Clase Objetos Mtra. Carolina Galaviz I. CBTIS No. 37

Ejemplo Ahora realiza un ejemplo tú. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Instancias múltiples Se pueden crear múltiples objetos ( o instancias) a partir de una clase. Cada objeto puede tener sus atributos particulares. Si se cambia el atributo de un objeto, se hace utilizando a un método de ese objeto, y esta acción afectará sólo a ese objeto, no a otros. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Clase Objetos cambiarColor(azul) Clase Objetos Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Método Los métodos se definen en la clase del objeto. Todos los objetos de una clase dada tienen los mismos métodos. Todos los métodos se invocan desde los objetos. Ejemplo: Un objeto “circulo1” de la clase “Circulo” se modifica cuando se invoca el método moverDerecha() Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Estado Es el conjunto de valores de todos los atributos que definen un objeto. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Algunos conceptos: El modelo de objetos (según Booch) es el hecho de conjugar todos los siguientes elementos en forma sinérgica: Abstracción Encapsulación Jerarquía Modularidad Tipos Modificador de acceso Polimorfismo Estado Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Abstracción La abstracción se basa en identificar las características esenciales de algún objeto, siempre respecto a la perspectiva del espectador. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Encapsulación Es un mecanismo que permite agrupar los datos (atributos) y el código (métodos) que los manipulan y los mantiene alejados de posibles interferencias y usos indebidos. El acceso a los datos y métodos es en forma controlada a través de una interfaz bien definida. La base del encapsulado es la clase. Cada atributo y método tiene asociado un modificador de acceso que establece quien tiene acceso a los atributos y métodos de la clase. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Modularidad La modularidad empaqueta abstracciones relacionadas en unidades discretas. En java se utilizan los paquetes como el mecanismo de modularidad, sus dependencias se declaran con la sentencia import. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Modificador de acceso Los atributos y métodos privados sólo pueden ser accedidos por el código dentro de la clase. (-) Los atributos y métodos publicos pueden ser accedidos desde fuera de la clase . (+) Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Jerarquía Una jerarquía es una clasificación u ordenación de abstracciones. Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Tipos Un Tipo es una caracterización precisa de las propiedades estructurales o de comportamiento que comparten una serie de entidades. Típicamente, los términos clase y tipo se usan de manera indistinta. Tipo del atributo:(char, byte, short, int, long, float o double) Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 Polimorfismo El polimorfismo es un concepto simple derivado de la teoría de Tipos, y que significa un objeto y muchas formas. Se refiere a: Es el uso de un mismo nombre para representar o significar más de una acción. Que un mismo mensaje pueda producir acciones totalmente diferentes cuando se recibe por objetos diferentes del mismo tipo. El polimorfismo representa en nuestro caso la posibilidad de desencadenar operaciones distintas en respuesta a un mismo mensaje Cada subclase hereda las operaciones pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones Mtra. Carolina Galaviz I. CBTIS No. 37

Mtra. Carolina Galaviz I. CBTIS No. 37 … Polimorfismo Ejemplo: todo animal duerme, pero cada clase lo hace de forma distinta ? dormir ? Mtra. Carolina Galaviz I. CBTIS No. 37

… Polimorfismo Animal dormir() León Oso Tigre dormir() dormir() { dormir() } León Oso Tigre dormir() dormir() dormir() Dormir() Dormir() Dormir() { { { sobre el vientre sobrela espalda en un árbol } } }

Mtra. Carolina Galaviz I. CBTIS No. 37 Métodos GET y SET Get: Obtener Sintaxis: public tipo getVariable( ) { Return variable; } Set: Asignar public void setVariable(tipo variable ) { this.variable = variable; Mtra. Carolina Galaviz I. CBTIS No. 37

Y para qué usamos los métodos void? Cuando un método es “void”, significa que no retorna nada Para que un objeto haga algo y ya, no importandonos que fue lo que hizo. Considerese la siguiente conversacion entre dos objetos: A: muevete cinco pasos porfa. B: ok. A: y? B: Y que? Mover es void. A: no me dijiste si lo hiciste o no. B: no fue lo que me pediste. Te mueves cinco pasos porfa Objeto B Objeto A

Te mueves cinco pasos porfa Objeto A Objeto B El objeto B tiene definido su método mover así: public void mover(int pasos){ miPosicion += 5; } Si deseas que el objeto B te confirme si se movío, entonces se declara “Boolean”, no “Void” Mtra. Carolina Galaviz I. CBTIS No. 37