Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Programación orientada a objetos (y II)
1. Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010
Programación orientada a objetos (y II)
Presentación en diapositivas (PRE10)
2. Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010
Herencia y polimorfismo
Ambas propiedades son esenciales en la POO
Comentaremos únicamente las diferencias respecto a C++, que son:
●
Referencias this y super
● Clase Object
●
Polimorfismo
●
Paquetes
● La API
¡¡IMPORTANTE!!
Las clases y métodos abstractos, las clases y métodos finales y las
interfaces están fuera de los objetivos de este módulo.
3. Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010
Las referencias this y super
Java permite el acceso a atributos/métodos del propio objeto → this
Ejemplo:
class Alumno() {
String nombre;
String nombre;
GregorianCalendar fechaNacimiento;
boolean ocupado;
GregorianCalendar fechaNacimiento;
int calculaEdad() {
GregorianCalendar hoy = new GregorianCalendar();
boolean ocupado;
hoy.getTime();
this.fechaNacimiento
return (this.fechaNacimiento – hoy)
} Métodos
} Atributos
Clase Alumno
Java permite el acceso a atributos/métodos del objeto de la superclase → super
Ejemplo:
class Alumno() {
int calculaEdad() { ... }
}
... ...
class AlumnoCiclos extends Alumno() { hereda
int calculaEdad() { super.calculaEdad(); } Atributos Atributos
} calculaEdad() super.calculaEdad()
Métodos Métodos
Clase Alumno Clase AlumnoCiclos
4. Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010
La clase Object
Clase Object
Métodos Explicación
+equals (Object obj): boolean Compara el contenido de 2 objetos
#Clone(): Object Retorna una copia del objeto
hereda
resto de clases
5. Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010
Polimorfismo
Capacidad de una variable de poder tomar varias formas.
Ejemplo:
hereda
Clase Alumno Clase AlumnoCiclos
En este caso, podríamos hacer:
Alumno alumnoUno = new Alumno();
Alumno alumnoDos = new Alumno();
6. Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010
Paquetes
● Es la forma en la que Java organiza las clases.
● Las clases de un mismo paquete tienen alguna relación entre ellas.
● Ejemplos:
● java.lang. Incluye clases fundamentales.
● java.io. Tiene clases para gestionar la e/s.
Definición de paquetes
package nombrePaquete; // Si no se define, se incluye en default package
Acceso a una clase
● Nombre completo: nombrePaquete.nombreClase
● Mediante import:
1. import nombrePaquete.nombreClase; // importa sólo la clase por convención, java.lang
se importa por defecto
2. Import nombrePaquete.* // importa todo el paquete
7. Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010
La API
Biblioteca con funciones organizadas en paquetes. Las principales son:
Paquete Clases incorporadas
java.lang Clases fundamentales para el lenguaje, como la clase String y otras.
java.io Clases para entrada y salida a través de flujos de datos y ficheros del sistema.
java.util Clases de utilidad, como colecciones de datos y clases o facilidades horarias.
java.math Clase que agrupa todas las funciones matemáticas.
java.applet Clase con utilidades para crear applets y clases que los applets necesitan para
comunicarse con su contexto.
java.awt Clases que permiten la creación de interfaces gráficas con el usuario.
java.swing Clases con componentes gráficos que funcionan igual en todas las plataformas Java.
java.security Clases responsables de la seguridad en Java (encriptación, etc.).
java.net Clases con funciones para aplicaciones en red.
java.sql Clase que incorpora el JDBC para la conexión de Java con bases de datos.
8. Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010
Programación orientada a objetos (y II)
Presentación en diapositivas (PRE10)
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.