Programación Orientada a Objetos

Slides:



Advertisements
Presentaciones similares
Programación Orientada a Objetos (con Java)
Advertisements

2. Manejo de memoria Manejo de memoria estática
Curso de java básico (scjp)
Curso de java básico (scjp)
Programación Gráfica 8. Clases y objetos.
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Clases en C++.
Definición de Clases y Variables de referencia.
Creación y destrucción de objetos
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Arquitectura CLARO-TECNOTREE
Programación Orientada a Objetos
“Programación orientada a Objetos II”
POO en C++: Sintaxis En el .h debe aparecer la declaración de la clase: class NombreClase { private: // atributos y métodos privados public: // atributos.
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD LATINA (UNILA)
Aplicación del paradigma orientado a objetos
PROGRAMACION ORIENTADA A OBJETOS
Objetos y Clases en Java
Programación Orientada a Objetos en Java
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
Vectores en java.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Programación Orientada a Objetos usando C++
Material de apoyo Unidad 2 Estructura de datos
PROGRAMACIÓN ORIENTADA A OBJETOS
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
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.
UML Diagramas. Diagramas de Interacción Muestran como los objetos de la aplicación cooperan e interactúan para cumplir con los requisitos. Suele construirse.
Tema 6: Clases Antonio J. Sierra.
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.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
ESTRUCTURA DE DATOS EN JAVA
Clase 10: Estructuras de datos y arreglos.
Clases y objetos. La unidad fundamental del lenguaje Java es la clase, que proporciona la estructura de los objetos y mecanismos para fabricarlos, a partir.
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
COMPUTACIÓN I TEMA 6. Pasaje de parámetros por Referencia. Uso de apuntadores Prof. Mireya Morales.
1 Objetos y Clases en Java ELO-329: Diseño y Programación Orientados a Objetos.
Programación Orientada Objetos
FACULTAD DE ESTUDIOS SUPERIORES ARAGON
Manejo de Punteros y objetos en memoria dinámica en C++
APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Constructor  Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
PROGRAMACION ORIENTADA A OBJETOS
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación CLASES DE JAVA Diciembre de 2008.
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,
Curso de C # República Bolivariana de Venezuela Área de Computación Facilitador: Prof. Bassam Asfur.
Clases “ Es una Abstracción de un elemento del mundo real ”
Diagrama de Clases.
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.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
1 La sobrecarga de funciones y operadores le da al programador la oportunidad de asignar nuevos significados a las funciones y a los operadores.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Prof. Manuel B. Sánchez. Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
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.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
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.
Transcripción de la presentación:

Programación Orientada a Objetos Presentación Programación I Programación Orientada a Objetos :: Prof. Yeniffer Peña

Programación I Constructores El constructor es un tipo específico de método que tiene el mismo nombre que la clase y se llama automáticamente cada vez que se crea un objeto de esa clase. Una clase puede tener varios constructores, y su principal uso es la inicialización de los atributos de la clase. Los constructores no tienen valor de retorno (ni siquiera void) y deben ser declarados públicos. Su argumento implícito es el objeto que se está creando. Programación I

Programación I Constructores Véase el siguiente ejemplo: Utilizando el asistente de Netbeans (versiones anteriores a la 6.0), al crear la clase Rectangulo, Netbeans automáticamente agrega un método que se llama igual que la clase. Éste es un método constructor. Programación I

Programación I Constructores Aquí se observa como se crea un objeto de tipo Rectangulo y se asigna a una referencia llamada objeto: Rectangulo objeto = new Rectangulo(); Puede notarse que, al crear el objeto se coloca a la derecha de new una llamada al constructor visto anteriormente. El compilador se encarga de asignar espacio en memoria a la referencia objeto y luego ejecuta las líneas de código que contenga el constructor Rectangulo(). Programación I

Programación I Constructores Es muy importante resaltar que si el programador no especifica ningún constructor en una clase, el compilador crea un constructor por defecto (que no admite parámetros) e inicializa los atributos de la clase que sean de tipo primitivo a su valor por defecto y las referencias a objetos en null. Un constructor puede tener argumentos (constructores alternativos) ó no tenerlos (constructor por defecto). Programación I

Constructores Ejemplo de Constructores: Programación I

Constructores Otro Ejemplo de Constructor: Programación I

Programación I Destructores Por lo visto anteriormente, se conoce que las instancias de Objetos se crean a través de una referencia y éstas son almacenadas en memoria RAM. Entonces surge la pregunta: ¿Qué se hace con estas instancias una vez que ya no son utilizadas? Otros lenguajes como C++ poseen métodos destructores que permiten al programador la administración explícita de instancias, pero en Java no son necesarios debido al proceso de "Garbage Collection" ó recolector de basura; que inspecciona constantemente la memoria utilizada, lo cual le permite ir eliminando automáticamente las instancias que han dejado de ser utilizadas en un programa. Programación I

Declaración de una Clase Declaración de atributos Constructores Constructor por defecto Programación I Constructor alternativo Método de la clase Método main

Constructor por defecto Creación de Objetos En Java se crean instancias de objetos de una clase en particular a través de una referencia. Por ejemplo, vamos a crear una instancia de objeto de la clase Rectangulo, usando el constructor por defecto: Rectangulo objeto = new Rectangulo(); Nombre de la Clase Nombre del Objeto Operador new Constructor por defecto Programación I objeto x=2 y=4 ancho=3 alto=5 Rectangulo() Rectangulo(int,int,int,int) calcularArea() En memoria se almacena un objeto de la clase Rectangulo con las siguientes características:

Constructor Alternativo Creación de Objetos Ahora vamos a crear una instancia de objeto de la clase Rectangulo, usando el constructor alternativo: Rectangulo objeto = new Rectangulo(4,6,2,3); Nombre de la Clase Nombre del Objeto Operador new Constructor Alternativo Programación I objeto x=4 y=6 ancho=2 alto=3 Rectangulo() Rectangulo(int,int,int,int) calcularArea() En memoria se almacena un objeto de la clase Rectangulo con las siguientes características:

Manipulación de Atributos y Métodos En el proceso de instanciación de objetos se realizan 3 procesos: 1. Declaración de tipo del objeto: Rectangulo objeto 2. Solicitud de memoria a través de una referencia: = new 3. Inicialización de los atributos de la clase, mediante la llamada del método constructor: Rectangulo() Programación I

Manipulación de Atributos y Métodos Como se pudo observar de las declaraciones anteriores, en memoria los objetos creados poseen atributos y métodos, que probablemente en algún momento se necesiten acceder para alguna acción determinada. Para acceder a los atributos ó métodos de un objeto se utiliza el nombre del objeto acompañado del operador punto (.) Programación I Rectangulo objeto = new Rectangulo(); int coord_x = objeto.x; int coord_y = objeto.y; System.out.println(objeto.ancho); System.out.println(objeto.alto); int area = objeto.calcularArea();

Control de Acceso a una clase Es necesario imponer restricciones a la forma en qué se puede manipular una clase y a la forma en qué se pueden utilizar los datos y código contenidos en la misma. Existen tres tipos de usuarios a la clase: La clase por sí misma. Usuarios genéricos. Clases derivadas. Cada usuario tiene diferentes privilegios de acceso privado (privilegio de acceso por defecto) público protegido Programación I

Control de Acceso a Atributos y Métodos public Cualquier clase puede acceder a las propiedades y métodos públicos. protected Sólo las clases derivadas y aquellas situadas o no en el mismo paquete, pueden acceder a las propiedades y métodos protegidos. private Las variables y métodos privados sólo pueden ser accedidos desde dentro de la clase. Cuando al método ó atributo no se le coloca ningún identificador, éstos sólo pueden ser accedidos dentro del paquete en el cual se encuentre la clase, pero no pueden ser visto desde otros paquetes. Programación I

Esquema de Trabajo para una Clase Generalmente el esquema de trabajo para una clase, es que sus atributos sean privados y sus métodos públicos. Recordando que si los atributos se encuentran privados, sólo podrán ser accedidos desde dentro (por los métodos o main) de la clase. Mientras que si los métodos son públicos, éstos pueden ser accedidos desde cualquier clase en cualquier paquete. Sólo basta crear una instancia objeto de la clase para poder acceder a ellos con el operador punto (.) Programación I

Ejemplo de Acceso a Miembros Privados Los atributos y métodos privados de la clase Rectangulo (x, y, ancho, alto, desplazar(int,int) ) pueden ser accedidos desde la misma clase Rectangulo, incluyendo la función main, porque ésta se encuentra dentro de la clase Rectangulo. Programación I

Ejemplo de Acceso a Miembros Privados Ahora, al tratar de acceder a los atributos ó métodos privados de la clase Rectangulo (x, y, ancho, alto, desplazar(int,int) ) desde otra clase (Principal) el acceso es prohibido. Esto quiere decir que para poder acceder a los atributos hay que construir métodos públicos en la clase Rectangulo. Programación I

Ejemplo de Acceso a Miembros Privados Por ejemplo, se construyó el método setValores que es público y recibe los valores que se desean asignar a los atributos privados. Sin embargo, desde la clase Principal no se puede tener acceso al método desplazar porque éste es privado. Programación I

Ejemplo de Acceso a Miembros Públicos Los atributos y métodos públicos de una clase pueden ser accedidos desde la misma clase ó desde cualquier clase. Por ejemplo, cambiemos el acceso del método desplazar de la clase Rectangulo de private a public. Programación I

Comunicación entre Objetos Los objetos interactúan enviándose mensajes unos a otros. Tras la recepción de un mensaje el otro ejecutará una acción, que puede ser el envío de otros mensajes, el cambio de su estado, o la ejecución de cualquier otra tarea que se requiera que haga el objeto. Programación I Mensaje Objeto A Objeto B

Programación I Paso de Mensajes En POO el paso de mensajes se compara con la “llamada a una función” en programación tradicional. Básicamente tenemos que: 1.- Los programas son las clases. 2.- Las clases se relacionan con otras clases. 3.- En la vida real, es decir, en funcionamiento, las clases se muestran como objetos. En Conclusión: Son los objetos los que colaboran y se relacionan con otros objetos, y lo hacen mediante el “paso de mensajes”, es decir, llamando métodos, unos a otros. Programación I

Programación I Paso de Mensajes Ejemplo: Proyecto Figuras Otras Circulo.java Cuadro.java Otras Rectangulo.java Proyecto Programación I

Programación I La Referencia this Cómo resolver la ambigüedad entre argumentos y atributos. Programación I

Programación I Vector de Objetos Para crear un vector de objetos, primero se hace la declaración de tipo y se específica el tamaño, de la siguiente forma: Luego, por cada posición del vector se debe crear la referencia y hacer la inicialización correspondiente, llamando a un constructor. nombre_clase [] nombre_vector = new nombre_clase[tamaño]; Programación I for (int i=0; i<nombre_vector.length; i++) nombre_vector[i]= new nombre_clase();

Declaración de un Vector de Objetos Ejemplo: Programación I

Programación I Vector de Objetos Para manipular los miembros (atributos y métodos) de un vector de objetos, se hace de la siguiente forma: nombre_vector[indice].miembroAtributo nombre_vector[indice].miembroMetodo Programación I

Manipulación de Miembros de un Vector de Objetos Ejemplo: Programación I

Programación Orientada a Objetos Finalización Programación I Programación Orientada a Objetos Continuará . . . :: Prof. Yeniffer Peña