Programación orientada a objetos (I)

3,295 views

Published on

Presentación en diapositivas (PRE09)

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,295
On SlideShare
0
From Embeds
0
Number of Embeds
2,480
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Programación orientada a objetos (I)

  1. 1. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Programación orientada a objetos (I) Presentación en diapositivas (PRE09)
  2. 2. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Las clases en Java (I) En Java, todo el código está incluido en clases cómo crear una clase: clase class ejemploClase { declaración de atributos variables miembro ... declaración de métodos funciones miembro } aquí no es preciso el ; fichero con el nombre ejemploClase.java sensible a mayúsculas (EjemploClase es diferente a ejemploClase)
  3. 3. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Las clases en Java (y II) Es posible: class clase1 {} Restricciones en este caso: class clase2 {} ● Sólo puede haber 1 clase pública ● La clase pública será la que dé el nombre al archivo class clase3 {} fichero clase3.java Aunque lo habitual es: class clase1 {} class clase2 {} class clase3 {} fichero clase1.java fichero clase2.java fichero clase3.java
  4. 4. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Declaración de objetos (I) Un objeto se declara de la misma manera que una variable: Alumno juan; nombre de la clase nombre del objeto juan es una referencia a un objeto de la clase Alumno La declaración no crea espacio en memoria, es decir: juan null Hay que reservar memoria si queremos utilizar el objeto (new): juan = new Alumno(“Juan Pérez”, “Castellón”, true);
  5. 5. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Declaración de objetos (y II) Profundicemos en su funcionamiento. Con el siguiente código: ● Línea 1. Alumno juan; ● Línea 2. juan = new Alumno (“Juan Pérez”, “Castellón”, true); ● Línea 3. Alumno alfredo; ● Línea 4. alfredo = juan; Gráficamente. Línea 1. juan null Línea 2. juan Alumno (“Juan Pérez”, “Castellón”, true) Línea 3. alfredo null Línea 4. juan alfredo Alumno (“Juan Pérez”, “Castellón”, true)
  6. 6. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Acceso a los objetos ● El acceso se realiza a través del operador . (punto) ● Sirve para sus atributos y para sus métodos Ejemplos: int edad; boolean trabaja; trabaja = juan.ocupado; // acceso al atributo ocupado edad = juan.calculaEdad(); // acceso al método calculaEdad() ● Permite el uso del objeto this (objeto dentro del método) Ejemplo: int calculaEdad() { GregorianCalendar hoy = new GregorianCalendar(); hoy.getTime(); return (this.fechaNacimiento – hoy) // acceso al atributo fechaNacimiento }
  7. 7. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Destrucción de objetos ● Un objeto se debe eliminar cuando se deja de utilizar. ● Es un proceso automático realizado por el garbage collector. ● Si se utilizan otros recursos (por ejemplo ficheros) se debe: ● Añadir método finalize(). Uso: static void finalize() // siempre de tipo static void { … // instrucciones para liberar los recursos } ● El método finalize() se llamará automáticamente por el recolector.
  8. 8. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Constructores de copia ● recordemos que... … la asignación entre objetos NO IMPLICA copia. ● por tanto... … siempre se accede al mismo contenido. ● y eso significa que... NO EXISTEN CONSTRUCTORES DE COPIA
  9. 9. Desarrollo de Funciones en el Sistema Informático Curso 2009/2010 Programación orientada a objetos (I) Presentación en diapositivas (PRE09) Esta obra de Cristian Jorge Garcia Marcos está bajo una licencia Reconocimiento-Compartir bajo la misma licencia 3.0 España de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/3.0/es/ o envíe una carta a Creative Commons, 171 SecondStreet, Suite 300, San Francisco, California 94105, USA Basado en el documento: López, J. A. P., Xirgo, L. R. (2008, February 18). Introducción al desarrollo de software. Retrieved February 25, 2010, from UOCOpenCourseWare Web site: http://ocw.uoc.edu/informatica- tecnologia-y-multimedia/introduccion-al-desarrollo-de-software, publicado bajo una licencia GNU Free Document License.

×