1 Objetos y Clases en Java ELO-329: Diseño y Programación Orientados a Objetos.

Slides:



Advertisements
Presentaciones similares
2. Manejo de memoria Manejo de memoria estática
Advertisements

Curso de java básico (scjp)
Curso de java básico (scjp)
Curso de java básico (scjp)
Clases en C++.
Creación y destrucción de objetos
PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA
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.
Orientación a Objetos con Java SE
Capitulo 4 Excepciones.
Informática II Prof. Dr. Gustavo Patiño MJ
Objetos y Clases en Java
Programación Orientada a Objetos en Java
Primer Programa 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++
Modificadores.
Introducción a Java II.
Lic. Rosemary Torrico Bascopé
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.
Tema 6: Clases Antonio J. Sierra.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
SCJP Sun Certified Programmer for Java 6
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
El lenguaje de programación Java
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
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.
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
1 Asignación Dinámica de Memoria Agustín J. González Versión original de Kip Irvine ELO 329.
Clases en C++ Agustín J. González ELO329.
Tema 9: Paquetes Antonio J. Sierra. Índice 1. Introducción. 2. Protección de acceso. 3. Importación de paquetes. 4. Modelado UML de un paquete.
Manejo de Punteros y objetos en memoria dinámica en C++
Herencia y tipos ● Cuanta memoria se debe asignar a un objeto cuando se asigna en la pila ● La asignación debe hacerse antes de que se conozca la cantida.
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
ELO3291 Introducción a Java Agustín J. González ELO329.
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.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java.
Programación avanzada en Java Miguel Ángel Corella 16 de Septiembre de 2005.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
Paquetes y Documentación en Java ELO329: Diseño y Programación Orientados a Objetos.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Programación Orientada a Objetos
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
1 Asignación Dinámica de Memoria Agustín J. González ELO 329.
Programación orientada a objetos
Interfaces y Clases Internas
Herencia y Clases Abstractas
Definición y cumplimiento de responsabilidades Giovanni Hernández P. Nivel 4.
Programación orientada a objetos Capítulo 9 Algo mas sobre herencias.
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación CLASES DE JAVA Diciembre de 2008.
Diseño y Programación Orientados a Objetos1 Introducción a Java.
Clases “ Es una Abstracción de un elemento del mundo real ”
Algunas Características de C++ no presentes en C Agustín J. González ELO-329.
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.
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.
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.
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.
Clases y Objetos en Java
Clases y Objetos en Java
Clases y Objetos en Java
Paquetes y Documentación en Java
Paquetes y Documentación en Java
Clases y Objetos en Java
Transcripción de la presentación:

1 Objetos y Clases en Java ELO-329: Diseño y Programación Orientados a Objetos

2 Creación de objetos nuevos Se usa el constructor de la clase MiClase a = new MiClase(); Todos los objetos son creados en el heap (memoria asignada dinámicamente durante la ejecución). Lo que se retorna es una referencia al nuevo objeto (puede ser pensada como puntero). Nota — no existe destructor (en C++ sí) Java tiene un proceso de recolección de basura (Garbage Collection) que automáticamente recupera zonas no referenciadas.

3 Constructores Tiene igual nombre que la clase Pueden tener parámetros Son invocados principalmente con new No tiene tipo retornado No return explícito Java provee constructor por defecto ()‏ Podemos proveer uno o más constructores. Esto es un tipo de sobrecarga de métodos (igual nombre con distintos parámetros)‏ El compilador busca el constructor usando firma nombre constructor + lista de parámetros

4 Constructores Inicializa objetos nuevos: 1. Localiza memoria 2. Asigna valores por defecto a variables (0, 0.0, null, …)‏ 3. Llama constructor de Superclase (más adelante)‏ 4. Sentencias restantes son ejecutadas La primera sentencia puede ser: super( … )para llamar al constructor de la clase base (o padre o superclase)‏ this( … ) invoca a otro constructor

5 Referencias Los objetos son referenciados Esta es una forma “controlada” de usar: Direcciones y punteros Al declarar una variable de una clase obtenemos una referencia a la variable. En caso de tipos primitivos (8) se tiene la variable y acceso directo (no es referencia)‏ byte, short, int, long, float, double, char,boolean

6 pejAcct.deposit( ); // error pejAcct = new Cheque("Peter", 1000, 40); pejAcct name balance chqNum Cheque pejAcct; pejAcct Referencia nula Definiendo variables Este ejemplo asume que la clase Cheque ya existe y posee miembros datos: name, balance y chqNum

7 Asignación Cheque jmAcct; jmAcct jmAcct = pejAcct; pejAcct name balance chqNum jmAcct

8 Implicancias de referencias La identidad de objetos son referencias referencia significa puntero (i.e. no el contenido)‏ = es copiar la referencia Usar método clone para crear copia del objeto completo. == es comparación de referencias Usar equals para comparar contenidos aMethod(pejAcct) pasa un referencia aMethod(tipo_básico) pasa el valor return pejAcctretorna una referencia Usar clone para crear una copia, y luego retornarla

9 Control de acceso Modificador de acceso public protected “omitido” private Visibilidad Todas partes en sub-classes & pkg En el paquete Sólo en la clase public private package protected

10 Paquetes en Java (package)‏ Existen para garantizar unicidad en los nombres de clases. Si queremos referirnos a la clase Date, podemos usar: java.util.Date hoydia = new java.util.Date(); Una forma reducida es usar: import java.util.Date; Date hotdia = new Date(); Si deseamos usar varias clases de un mismo paquete: import java.util.*;

11 Paquetes en Java (cont.)‏ Para incluir una clase en un paquete, al inicio del archivo indicar: Package cl.utfsm.elo.elo329 Esto implica que debe existir los directorios: cl, dentro de él utfsm, dentro de éste elo y finalmente el directorio elo329. En este último ponemos los archivos del paquete. Para compilar estos archivos usamos: javac cl/utfsm/elo/elo329/archivo.java Para correr el archivo usamos: java cl.utfsm.elo.elo329.archivo

12 Documentación Para la clase ponerla inmediatamente antes de la clase y ser encerrado entre /** y */ Para los métodos: usar los variable descripción de clase Para los datos públicos: /**...*/ Comentarios link cl.utfsm.elo.Employee#raiseSalary(double)‏

13 Documentación Se pueden usar todo tipo de rótulos html incrustados. ¿Cómo generar la documentación?: javadoc -d docDirectory *.java Para la documentación de un paquete: javadoc -d docDirectory nameOfPackage Ejemplo: Account.java index.html generado con javadoc -d AccountDoc *.java index.html

14 Rutas para clases Primero incluir la ruta del compilador y máquina virtual java en la variable PATH. Luego la ruta para la búsqueda de todas las clases: CLASSPATH El compilador y el interprete java buscan los archivos en el directorio actual. Si el proyecto está compuesto por varias clases en diferentes directorios, javac y java buscan las clases en los directorios indicados en la variable de ambiente CLASSPATH. En Linux ELO ésta se configura con export CLASSPATH=/home/user/classdir1: /home/user/classdir2:. El Windows también se debe fijar la variable de ambiente.