Herencia. Amparo López Gaona. Septiembre de Amparo López Gaona () Herencia Septiembre de / 58

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Herencia. Amparo López Gaona. Septiembre de Amparo López Gaona () Herencia Septiembre de / 58"

Transcripción

1 Herencia Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Herencia Septiembre de / 58

2 Introducción Las clases no existen en el vacío, normalmente se relacionan unas con otras. Relación de uso. Relación de agregación/contención. Relación de herencia. Se garantiza que objetos de una clase pueden usar objetos de otra clase respetando una funcionalidad existente. Desde el punto de vista de extensibilidad es deseable poder modificar o adaptar clases existentes a nuevas necesidades, sin violar el encapsulamiento. Amparo López Gaona () Herencia Septiembre de / 58

3 Ampliación mediante herencia Hacer un programa para el mantenimiento de cuentas bancarias: cuentas de débito, cuentas con pago automático de servicios y cuentas de crédito. Con todas se permite retirar dinero, depositar dinero y conocer el saldo de la misma. Las cuentas con pago de servicio además permiten el pago automático del teléfono y las cuentas de crédito permiten comprar a crédito y consultar este crédito. Amparo López Gaona () Herencia Septiembre de / 58

4 Ampliación mediante herencia Hacer un programa para el mantenimiento de cuentas bancarias: cuentas de débito, cuentas con pago automático de servicios y cuentas de crédito. Con todas se permite retirar dinero, depositar dinero y conocer el saldo de la misma. Las cuentas con pago de servicio además permiten el pago automático del teléfono y las cuentas de crédito permiten comprar a crédito y consultar este crédito. 1 Encontrar los objetos principales. cuenta bancaria, cuenta de débito, cuenta con pago y cuenta de crédito 2 Determinar el comportamiento deseado para cada objeto. Cuenta bancaria: CtaPago: CtaCrédito: Crear una cuenta. Crear una cuenta. Crear una cuenta. Retirar dinero. Retirar dinero. Retirar dinero. Depositar dinero. Depositar dinero. Depositar dinero. Consultar saldo. Consultar saldo. Consultar saldo. Pagar servicio. Consultar crédito. Comprar a crédito. Amparo López Gaona () Herencia Septiembre de / 58

5 ... Ampliación mediante herencia Se sabe de la existencia de la clase Cuenta: public class Cuenta { private double saldo; public Cuenta(double montoinicial) {... public void retirar(double monto) {... public void depositar(double monto) {... public double darsaldo() {... Para resolver este problema existen al menos tres posibilidades: Amparo López Gaona () Herencia Septiembre de / 58

6 ... Ampliación mediante herencia Se sabe de la existencia de la clase Cuenta: public class Cuenta { private double saldo; public Cuenta(double montoinicial) {... public void retirar(double monto) {... public void depositar(double monto) {... public double darsaldo() {... Para resolver este problema existen al menos tres posibilidades: 1 Modificar la clase Cuenta agregando los métodos requeridos. 2 Copiar el código de Cuenta en el programa para el pago de servicios y hacer el cambio necesario. 3 Usar el mecanismo de herencia. Amparo López Gaona () Herencia Septiembre de / 58

7 ... Ampliación mediante herencia La herencia permite definir una nueva clase C n a partir de una clase existente C. En la clase C n se definen sólo los atributos y los métodos que difieren de los existentes en la clase C y automáticamente se incluyen los métodos y atributos de C. La clase C n se denomina subclase o clase derivada y la clase C se conoce como superclase, clase base o clase padre. public class CuentaConServicios extends Cuenta { /** M etodo para pagar el tel efono... numtel - N umero telef onico a donde se har a el pago monto - Cantidad que debe pagarse */ public void pagartelefono(string numtel, double monto) { retirar(monto);... // C odigo para pagar el tel efono saldo += ; Amparo López Gaona () Herencia Septiembre de / 58

8 ... Ampliación mediante herencia Un objeto de la clase derivada tiene todos los componentes de la clase base de la cual hereda más los definidos en esta misma clase, como se muestra en la siguiente tabla. Clase: Cuenta CuentaConServicios Estructura: saldo saldo numcuenta numcuenta Comportamiento: retirar retirar depositar depositar darsaldo darsaldo pagarteléfono Amparo López Gaona () Herencia Septiembre de / 58

9 Control de acceso Inválido modificar la variable saldo de la clase Cuenta. Si se quiere tener elementos privados para todas las clases excepto para las clases derivadas, es necesario que se declaren utilizando la palabra reservada protected. Clase A private Clase B public Clase A1 Clase A2 protected public class Cuenta { protected double saldo;... //depositar(100.00); Amparo López Gaona () Herencia Septiembre de / 58

10 Constructores El constructor de la clase base proporciona el estado inicial para la parte heredada. Se llama cuando se crea el objeto de la clase derivada. El constructor de la clase derivada maneja la parte agregada por ésta. El constructor de una clase derivada incluye la llamada (super) a uno de los constructores de la clase base que se ejecutará antes que el cuerpo del constructor de la clase derivada. public CuentaConServicios (double montoinicial) { super(montoinicial); En este caso el constructor de la subclase no añade nada al constructor de la superclase, pero puede hacerlo. En una jerarquía de herencia, la creación de un objeto de una clase derivada puede causar una serie de llamadas a constructores en la jerarquía. Amparo López Gaona () Herencia Septiembre de / 58

11 ... Constructores class Base { private int x, y; public Base(int a) { x = a; y = 1000; public Base(int a, int b) { x = a; y = b;; public void pintab() {System.out.println(x+ " " + y); class Derivada extends Base{ private int z; public Derivada (int n) { z = n; public void pintad() {System.out.println(z); public class UsoHer{ public static void main(string x[]) { Base unb = new Base(1,2); Derivada und = new Derivada(4); unb.pintab(); und.pintad(); Amparo López Gaona () Herencia Septiembre de / 58

12 Uso de clases derivadas public class UsaCuenta { public static void main(string[] pps) {... // Declaraciones necesarias // Solicita y valida capital inicial cuenta=new CuentaConServicios(capital); // Crea la cuenta do {... //Muestra menu de opciones y pide seleccionar alguna switch(opcion) { case 1 : //Retiro System.out.println("? Cuanto dinero quieres retirar?"); capital=io.readdouble(); cuenta.retirar(capital); break; case 2 : //Deposito System.out.println("? Que cantidad deseas depositar?"); capital=io.readdouble(); cuenta.depositar(capital); break; case 3 : // Saldo System.out.println("Tu saldo es de:$" + cuenta.obtenersaldo()); break; case 4 : // $Pago de telefono System.out.println("? Cuanto dinero vas a pagar?"); capital=io.readdouble(); cuenta.pagartelefono(capital); System.out.println("Telefono pagado, gracias"); break; case 9 : //Fin del programa System.out.println("*** Hasta pronto. ***"); otra = false; break; default: Amparo System.out.println("Opci\penalty López Gaona () \@M \hskip \z@skip Herencia \unhbox \voidb@x \bgroup Septiembre \let \unhbox de 2008 \voidb@x 16 \setbo / 58

13 Especialización mediante herencia Clase: Cuenta CuentaDeCrédito Estructura: saldo saldo numcuenta numcuenta ĺımite deuda Comportamiento: retirar retirar depositar depositar darsaldo darsaldo comprar obtenervalordeuda Amparo López Gaona () Herencia Septiembre de / 58

14 Especialización mediante herencia public class CuentaDeCredito extends Cuenta { private double limite; // Limite de credito private double deuda; // Monto de la deuda public CuentaDeCredito (double credito) { Amparo López Gaona () Herencia Septiembre de / 58

15 Especialización mediante herencia public class CuentaDeCredito extends Cuenta { private double limite; // Limite de credito private double deuda; // Monto de la deuda public CuentaDeCredito (double credito) { super (credito); limite = credito; deuda = 0; public double obtenervalordeuda() { return deuda; public boolean comprar(double monto) { if (monto > 0.0 && monto < saldo ) { deuda += monto; retirar (monto); // saldo -= monto; return true; Amparo else López Gaona { () Herencia Septiembre de / 58

16 Especialización mediante herencia public void retirar (double monto) { Amparo López Gaona () Herencia Septiembre de / 58

17 Especialización mediante herencia public void retirar (double monto) { if (monto >0.0 && monto <= saldo ) { double comision = monto *0.02; super.retirar(monto+comision); deuda += monto + comision; La clase CuentaDeCredito es más especializada que la clase Cuenta. La especialización se logra agregando atributos y métodos en la subclase. Sobreescritura = modificar el trabaja de un método en una subclase. Un método puede sobreescribirse si no es privado ni estático. Si una clase tiene la palabra final entonces no se puede derivar. Búsqueda en la jerarquía de abajo a arriba. Decidir cuál método aplicar a un objeto en una jerarquía de herencia se denomina polimorfismo. Amparo López Gaona () Herencia Septiembre de / 58

18 Jerarquía de Clases Las relaciones de herencia forman estructuras jerárquicas similares a un árbol. Cuenta Atributos Métodos Cuenta Atributos Métodos CuentaCon Servicios Atributos Métodos Crédito Atributos Métodos CuentaCon Servicios Atributos Métodos Crédito Atributos Métodos Inversión Atributos Métodos Nacional Internacional Nacional Internacional Atributos Atributos Atributos Atributos Métodos Métodos Métodos Métodos a) Crecimiento a lo largo b) Crecimiento a lo ancho Amparo López Gaona () Herencia Septiembre de / 58

19 ... Jerarquía de Clases comer() nacer() cazarratones() ronrronear() Amparo López Gaona () Herencia Septiembre de / 58 Un objeto heredará todas las propiedades de sus padres, de los padres de sus padres, etc. public class Animal{ public void comer() {... public class Mamifero extends Animal { public void nacer() {... public class Gato extends Mamifero { public void cazarratones() {... public void ronrronear() {... Gato micifus = new Gato();

20 Ventajas de la herencia Se reduce el tiempo que toma construir nuevas aplicaciones. Las nuevas clases son pequeñas. No es necesario tener el código de las clases para extenderlas. Las aplicaciones son más fáciles de entender debido a que es menos el software nuevo. Facilita el mantenimiento, debido a que si hay algo mal sólo se tiene que reparar en un solo lugar. Amparo López Gaona () Herencia Septiembre de / 58

21 Compatibilidad Un objeto de una subclase puede usarse en cualquier lugar que un objeto de su superclase. Cuenta cta; CuentaConServicios ctacons = new CuentaConServicios(); CuentaDeCredito ctacred = new CuentaDeCredito();... cta = ctacred; //Correcto ctacred = cta; //Incorrecto ctacred = (CuentaDeCredito) cta; Se puede asignar un objeto especializado a uno más general, el revés no es cierto sin una conversión expĺıcita. Amparo López Gaona () Herencia Septiembre de / 58

22 ... Compatibilidad Las reglas generales para conversión expĺıcita son: Si la asignación es de la forma padre = hijo, no es necesario indicar ninguna conversión. Si la asignación es de la forma hijo = padre, entonces se requiere la conversión expĺıcita hijo = (ClaseHijo) padre. No se puede asignar ni hacer conversión entre clases sin relación directa. Por ejemplo, no es posible ctacons = ctacred;. Para evitar problemas es conveniente utilizar el operador instanceof, el cual devuelve la clase a la que pertenece el objeto. Este operador se usa, generalmente, seguido de un operador de conversión expĺıcita, es decir, el nombre de una clase entre paréntesis. Amparo López Gaona () Herencia Septiembre de / 58

23 ... Compatibilidad public static void main(string[] pps ) {... //Declaraciones Cuenta cta = null;... //Muestra menu de opciones y pide seleccionar algun case 0: // Menu para creacion de cuenta. Puede ser: cta=new Cuenta(capital); cta=new CuentaConServicios(capital); cta = new CuentaDeCredito(5000); break; case 1: //Retiro... cta.retirar(capital); break; case 2: //Deposito... cta.depositar(capital); break; case 3: // Saldo Amparo cta.obtenersaldo(); López Gaona Herencia Septiembre de / 58

24 ... Compatibilidad case 4: // Pago de telefono if (cta instanceof CuentaConServicios) { CuentaConServicios cs = (CuentaConServicios)cta;... // Pide datos cs.pagartelefono(tel,capital); cta = cs; else System.out.println("Tu cuenta no tiene habilitado este serv break; case 5: // Compra con tarjeta de credito if (cta instanceof CuentaDeCredito) { CuentaDeCredito cc = (CuentaDeCredito) cta; System.out.println("Cuanto vas a comprar"); capital=io.readdouble(); if (!cc.comprar(capital)) System.out.println("No se puede realizar la compra"); cta = cc; else System.out.println("Tu cuenta no tiene habilitado este serv Amparo López Gaona () Herencia Septiembre de / 58

25 ... Compatibilidad Cuenta [] cuentas;... cuenta[0] = new Cuenta(); cuenta[1] = new CuentaConServicios(); cuenta[2] = new CuentaDeCredito(); Calcular la suma del saldo de cada cuenta: double suma = 0; for (int i = 0; i < cuenta.length; i++) { suma += cuenta[i].obtenersaldo(); Amparo López Gaona () Herencia Septiembre de / 58

26 Polimorfismo Hasta el momento de ejecución se determina cuál método usar para calcular el sueldo. Sin polimorfismo escribir una serie de condicionales para determinar qué método llamar dependiendo de la clase a la que pertenece cada objeto. Sin polimorfismo el mantenimientose vuelve tortuoso. Con polimorfismo no es necesario cambiar este código al modificar la jerarquía. Amparo López Gaona () Herencia Septiembre de / 58

27 La clase Object Toda clase en Java es descendiente (directo o indirecto) de la clase Object definida en java.lang. En ella se define la estructura y comportamiento que todos los objetos deben tener. Método equals para comparar la igualdad de dos objetos. (o1.equals(o2) o1 == o2) Método getclass para obtener la clase de un objeto. Regresa un objeto de la clase Class (nombre, métodos, superclases, interfaces, etc.) System.out.println("El objeto es de la clase "+ obj.getclass().getname()); (Este no puede sobreescribirse). Método tostring para convertir a cadena la representación de un objeto. System.out.println(rectangulo); Otros métodos notify, notifyall, wait para manejo de hilos. Amparo López Gaona () Herencia Septiembre de / 58

28 ... la clase Object Amparo López Gaona () Herencia Septiembre de / 58

29 Manejo de errores public void depositar(double monto) { if (monto > 0) { saldo += monto; Amparo López Gaona () Herencia Septiembre de / 58

30 Manejo de errores public void depositar(double monto) { if (monto > 0) { saldo += monto; public void depositar(double monto) { if (monto > 0) { saldo += monto; else { System.out.println("No es posible depositar "+ monto + " pesos." Amparo López Gaona () Herencia Septiembre de / 58

31 Manejo de errores public void depositar(double monto) { if (monto > 0) { saldo += monto; public void depositar(double monto) { if (monto > 0) { saldo += monto; else { System.out.println("No es posible depositar "+ monto + " pesos." public boolean depositar(double monto) { if (monto > 0) { saldo += monto; return true; System.out.println("No es posible depositar "+ monto + " pesos.") return false; Amparo López Gaona () Herencia Septiembre de / 58

32 ... Manejo de errores Una excepción (exceptional event) es un evento que ocurre en cualquier momento de ejecución de un programa y que modifica el flujo normal de este. Son objetos de la clase Exception que almacenan información que se regresa en caso de que ocurra una anormalidad. Una excepción es disparada o activada para indicar que ocurrió una falla durante la ejecución de un método. La excepción se propaga hasta encontrar un método que la atrape en el cual se indica qué se debe hacer en circunstancias anómalas. Por ejemplo, imprimir un mensaje de error y no hacer nada más, terminar el programa (con o sin mensaje de error), realizar la tarea de cualquier forma, pedir la corrección de manera interactiva, etcétera. Amparo López Gaona () Herencia Septiembre de / 58

33 Jerarquía de excepciones La clase Exception del paquete java.lang es descendiente de la clase Object. Object Throwable Exception ClassNotFoundException IllegalAccessException NoSuchMethodException NoSuchFieldException RuntimeException IllegalArgumentException IndexOutOfBoundsException ArithmeticException ArrayStoreException ClassCastException NegativeArraySizeException NullPointerException IllegalStateException Amparo López Gaona () Herencia Septiembre de / 58

34 Estados de una excepción Las excepciones pasan por un conjunto de estados: Disparo de una excepción: Se crea un objeto Exception y el control pasa al sistema de ejecución. Principales ventajas de esta forma de tratar con errores o casos excepcionales es que para el usuario resulta imposible ignorarlos. Atrapado una excepción: Encontrar un método que responda a la excepción. Finalizar: Si no se encuentra método se termina la ejecución del programa. En caso contrario se recupera de la excepción. Amparo López Gaona () Herencia Septiembre de / 58

35 Disparo de excepciones Disparar una excepción es la forma más efectiva para indicar que no es posible atender la petición del objeto que envía el mensaje. public void depositar(double monto) throws Exception { if (monto < 0) { throw Exception("Deposito incorrecto"); saldo += monto; throw new Exception("Fondos insuficientes para realizar el retir public double retirar(double monto) throws Exception { if (monto <= 0) { throw new Exception("La cantidad a retirar debe ser positiva"); if (saldo < monto) { saldo -= 500; saldo -= monto; return Amparo López monto; Gaona () Herencia Septiembre de / 58

36 ... Disparo de excepciones public Cuenta(double saldoinicial) { if (saldoinicial < 2500) { throw new IllegalArgumentException("El monto inicial es menor a saldo = saldoinicial; Amparo López Gaona () Herencia Septiembre de / 58

37 Manejo de excepciones El manejador de excepciones puede estar en cualquier parte del programa y tiene la siguiente forma: try { instrucciones catch (..Exception e) { instrucciones finally { instrucciones Amparo López Gaona () Herencia Septiembre de / 58

38 ... Manejo de excepciones public class PruebaExcepcionesCuenta { static public void main(string pps[]) { double monto; InOut io = new InOut(); try{ System.out.println("Proporciona el monto inicial"); monto = io.readdouble(); Cuenta cta = new Cuenta(monto);... System.out.println("Proporciona el monto del retiro"); monto =io.readdouble(); cta.retirar(monto); System.out.println("El saldo actual es"+cta.dasaldo()); catch (Exception e) { System.out.println(e); System.out.println("Fin del programa"); Amparo López Gaona () Herencia Septiembre de / 58

39 ... Manejo de excepciones Ejecución con un monto inicial no numérico. Proporciona el monto inicial a50 java.lang.numberformatexception: a50 Fin del programa Amparo López Gaona () Herencia Septiembre de / 58

40 ... Manejo de excepciones Ejecución con un monto inicial no numérico. Proporciona el monto inicial a50 java.lang.numberformatexception: a50 Fin del programa Ejecución del programa con un monto inicial incorrecto. Proporciona el monto inicial 90 java.lang.illegalargumentexception: El monto inicial es menor a$ Fin del programa Amparo López Gaona () Herencia Septiembre de / 58

41 ... Manejo de excepciones Ejecución con un monto inicial no numérico. Proporciona el monto inicial a50 java.lang.numberformatexception: a50 Fin del programa Ejecución del programa con un monto inicial incorrecto. Proporciona el monto inicial 90 java.lang.illegalargumentexception: El monto inicial es menor a$ Fin del programa Intento de retirar una cantidad mayor a la disponible. Proporciona el monto inicial 3000 Proporciona el monto del retiro 5000 java.lang.exception: Fondos insuficientes para realizar el retir Fin del programa Amparo López Gaona () Herencia Septiembre de / 58

42 ... Manejo de excepciones Ejecución sin errores. Proporciona el monto inicial 3000 Proporciona el monto del retiro 1000 Fin del programa Amparo López Gaona () Herencia Septiembre de / 58

43 Creación de excepciones propias public class ExcepcionBancaria extends Exception { public ExcepcionBancaria() { super(); public ExcepcionBancaria(String s) { super(s); Amparo López Gaona () Herencia Septiembre de / 58

44 Creación de excepciones propias public class ExcepcionBancaria extends Exception { public ExcepcionBancaria() { super(); public ExcepcionBancaria(String s) { super(s); public void depositar(double monto) throws ExcepcionBancaria { if (monto <= 0) throw new ExcepcionBancaria("No es posible realizar un deposito saldo += monto; public void retirar(double monto) throws ExcepcionBancaria { if (monto <= 0 monto > disponible) { throw new ExcepcionBancaria("No es posible hacer un retiro negat saldo -= monto; Amparo López Gaona () Herencia Septiembre de / 58

45 Recuperación de excepciones Creación de una cuenta, verificando que el monto inicial sea correcto. OK = false; intentos = 0; do { try { System.out.println("Proporciona el monto inicial"); monto = io.readdouble(); Cuenta cta = new Cuenta(monto); OK = true; catch (Exception e) { System.out.println(e); intentos ++; while (!OK && intentos < 5);... Amparo López Gaona () Herencia Septiembre de / 58

46 Ventajas Entre las ventajas que se tienen de trabajar con excepciones se tienen las siguientes: 1 Permiten separar el código para manejo de error, del código normal. Aunque esto no evita que se deba especificar cuáles son los posibles errores y qué hacer en caso de que ocurran. 2 Se pueden agrupar tipos de errores y diferenciar errores. Por ejemplo, todos los que pueden ocurrir al trabajar con arreglos, con archivos, etc., pero también se puede trabajar con cada uno por separado. 3 Al crear excepciones propias se están creando códigos de error propios y son manejados por Java de manera idéntica a sus propias excepciones. Amparo López Gaona () Herencia Septiembre de / 58

Parte I: Programación en un lenguaje orientado a objetos

Parte I: Programación en un lenguaje orientado a objetos Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento

Más detalles

Fundamentos de Computadores y Lenguajes

Fundamentos de Computadores y Lenguajes Fundamentos de Computadores y Lenguajes 1. Elementos básicos de los lenguajes 2. Instrucciones de control 3. Tipos de datos 4. Métodos 5. Modularidad y Abstracción 6. Tratamiento de errores 7. Entrada/salida

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

Más detalles

Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1

Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1 Interfaces Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Interfaces Septiembre de 2008 1 / 1 Interfaces Las interfaces Java permiten al diseñador de clases establecer su forma definiendo

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Sebastián García Galán

Sebastián García Galán Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán sgalan@ujaen.es Variables y tipos de datos Operaciones y operadores Clases y objetos Tipos

Más detalles

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente. HERENCIA (2ª parte) Lenguajes de Programación - Orientación a Objetos: Herencia 2ª parte 1 Object En Java todas las clases derivan de otra, aunque no se diga explícitamente. Object: Es el nombre de la

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

HERENCIA. Problema: Reparar el el coche. Jesús (Valencia) Luis, Mecánico (Valencia) Antonio, Servicio Técnico Ferrari (Madrid)

HERENCIA. Problema: Reparar el el coche. Jesús (Valencia) Luis, Mecánico (Valencia) Antonio, Servicio Técnico Ferrari (Madrid) HERENCIA Lenguajes de Programación - Orientación a Objetos: Herencia 1 Problema: Reparar el el coche Jesús (Valencia) Reparar vehículo. Problema: no arranca Luis, Mecánico (Valencia) Método empleado Pedir

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica

Más detalles

Diseño de tipos Igualdad, representación, código, copia y relación de orden

Diseño de tipos Igualdad, representación, código, copia y relación de orden Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones

Más detalles

Tema 1. Herencia y Polimorfismo

Tema 1. Herencia y Polimorfismo ÍNDICE EDA. Unidad didáctica I: Conceptos de Java para Estructuras de Datos Tema 1. Herencia y Polimorfismo 1. Relaciones entre clases: Reutilización del software. 2. La Herencia como soporte Java del

Más detalles

3.3 Conceptos Básicos del Lenguaje Java

3.3 Conceptos Básicos del Lenguaje Java 3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos

Más detalles

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens Introducción a Java Juan Manuel Fernández Peña Curso 2005. Rev 2011 Comentarios: //comentario /* comentario fin de comentario */ /** comentario para javadoc fin */ Palabras reservadas: (como ejemplo) abstract,

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Objetos y clases. Amparo López Gaona. Agosto de Amparo López Gaona () Objetos y clases Agosto de / 49

Objetos y clases. Amparo López Gaona. Agosto de Amparo López Gaona () Objetos y clases Agosto de / 49 Objetos y clases Amparo López Gaona Agosto de 2008 Amparo López Gaona () Objetos y clases Agosto de 2008 1 / 49 Ciclo de vida de los objetos En un programa se crean objetos. Éstos interactuarán entre sí,

Más detalles

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

Presentación. Programación I. Programación Orientada a Objetos. :: Prof. Yeniffer Peña Presentación Programación Orientada a Objetos :: Prof. Yeniffer Peña Utiliza las excepciones java. Una excepción es una condición anormal que se produce en una porción de código durante su ejecución. Es

Más detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Herencia! Superclase/subclase! super! Modificador protected! Redefinicion de métodos!

Más detalles

Excepciones. Una excepción es una situación anómala a la que llega la ejecución de un programa

Excepciones. Una excepción es una situación anómala a la que llega la ejecución de un programa Excepciones Una excepción es una situación anómala a la que llega la ejecución de un programa Excepciones Introducción Una máxima en el desarrollo de software dicta que el 80 % del esfuerzo (en tiempo

Más detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

2. Tratamiento de objetos con JAVA

2. Tratamiento de objetos con JAVA 2. Tratamiento de objetos con JAVA David Contreras Bárcena (ETSI) - Comillas 71 2.1 Ciclo de Vida de los Objetos Los objetos tienen un tiempo de vida y consumen recursos durante el mismo. Cuando un objeto

Más detalles

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá

Más detalles

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Clase Object. Autoboxing. Igualdad de objetos. Copia de objetos.

Más detalles

Herencia Java y Servicios Web I Master en Ingeniería Matemática

Herencia Java y Servicios Web I Master en Ingeniería Matemática Herencia Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Extensión mediante herencia.

Más detalles

Tema 3. Tratamiento de Excepciones

Tema 3. Tratamiento de Excepciones Tema 3. Tratamiento de Excepciones Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Informática. Universidad de Málaga Programación Orientada a Objetos Dpto. Lenguajes y Ciencias de la Computación.

Más detalles

Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011

Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011 Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011 Ejercicio 1 (2 puntos) SOLUCIONES class TarjetaDeCredito

Más detalles

TEMA 5. Agenda. Herencia

TEMA 5. Agenda. Herencia TEMA 5 Herencia V1.3 Manuel Pereira González Agenda Implementación Métodos Heredados vs Sobreescritos La Clase Object Resumen 1 Introducción Herencia Una clase (subclase ó clase hija) hereda la estructura

Más detalles

Tema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016

Tema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 1 Programación Orientada a Objetos Contenido Introducción. Definición y tipos. Constructores. Redefinición. Polimorfismo. Herencia y sistema de tipos. Ligadura dinámica. Casting

Más detalles

Manejo de Excepciones

Manejo de Excepciones Manejo de Excepciones M. Consuelo Franky Julio Carreño Pontificia Universidad Javeriana 1 Temario Captura de excepciones Excepciones estándares Cómo provocar una excepción Cómo definir nuevas excepciones

Más detalles

Tema 5 Corrección y Robustez Excepciones en Java

Tema 5 Corrección y Robustez Excepciones en Java Tema 5 Corrección y Robustez Excepciones en Java Parte II: Excepciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Introducción Excepciones comprobadas Caso de estudio Tratamiento

Más detalles

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores.

Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores. MANEJO DE ERRORES 1 Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores. Uno de los puntos más vulnerables son los parámetros que

Más detalles

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

Soluciones al Examen de Fundamentos de Computadores y Lenguajes Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2005 1) Escribir una clase con un atributo privado que sea un array de

Más detalles

Definición. Mónica E. García García Feb 07

Definición. Mónica E. García García Feb 07 Tema 11: Herencia 0 Definición Cuando inicialmente se modelan dos cosas y se tienen datos duplicados y además pudiera darse que el número de métodos también es similar así como la implementación, se requiere

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Si bien hay gran cantidad de excepciones, todas derivan de la clase Exception, además de las excepciones ya manejadas, se pueden crear propias.

Si bien hay gran cantidad de excepciones, todas derivan de la clase Exception, además de las excepciones ya manejadas, se pueden crear propias. Práctica No. 6. Manejo de Excepciones Java permite el manejo de excepciones, esto permite que cuando ocurra algún error en tiempo de ejecución, se pueda evitar que el programa finalice de manera incorrecta.

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Herencia: relación es un

Herencia: relación es un Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid de abril de 007 : relación es un I Seres materiales Seres inertes Seres vivos Coches Plantas Animales Renault Flores

Más detalles

Excepciones. Excepciones

Excepciones. Excepciones Excepciones FJP Unidad 12 Excepciones Una excepción es la representación de una condición de error o cualquier situación no esperada en el resultado de un método. Son instancias de subclases de la clase

Más detalles

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016 Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Interfaces. Clase Object. Autoboxing. Copia de objetos. Igualdad

Más detalles

o Una clase es un tipo al cual pertenecen objetos o instancias de la clase.

o Una clase es un tipo al cual pertenecen objetos o instancias de la clase. o Una clase es un tipo al cual pertenecen objetos o instancias de la clase. Introducción a la Programación Orientada a Objetos EII147-01-02 Introducción a las tecnologías de información Clase Persona:

Más detalles

Prácticas de Programación

Prácticas de Programación Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 3. Herencia y Polimorfismo Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad

Más detalles

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Más detalles

Introducción a Java. Introducción a Java. Programación I

Introducción a Java. Introducción a Java. Programación I Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32

Más detalles

Abstracción. Encapsulamiento. Polimorfismo. Objeto. método / objeto / clase / módulo. Separación de las propiedades de un

Abstracción. Encapsulamiento. Polimorfismo. Objeto. método / objeto / clase / módulo. Separación de las propiedades de un Abstracción Encapsulamiento Separación de las propiedades de un método / objeto / clase / módulo de la implementación del mismo Ocultamiento de información No es necesario dar conocer los detalles de la

Más detalles

Introducción a la Programación

Introducción a la Programación Introducción a la Programación Tema 8. Programación reflexiva 1. Programación Refexiva 1 1.1 Introducción 1 1.2 La clase Class.. 3 1.3 Clases Constructor, Field y Method 4 2. Usos de la Programación

Más detalles

Examen Teórico Convocatoria de Junio de 2012

Examen Teórico Convocatoria de Junio de 2012 Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica

Más detalles

Sesión 7. TEMA 9 Extensión de clases: HERENCIA

Sesión 7. TEMA 9 Extensión de clases: HERENCIA Sesión 7. TEMA 9 Extensión de clases: HERENCIA Fundamentos de Informática José Jaime Noguera Noguera 6 de mayo de 2018 Contenidos 1 Introducción 2 Ejemplo 3 Código 4 Cuestiones 5 Tareas Temario Este es

Más detalles

INF 473 Desarrollo de Aplicaciones en Java

INF 473 Desarrollo de Aplicaciones en Java INF 473 Desarrollo de Aplicaciones en Java Sección V Otras características de Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Paquetes Conjunto de clases definidas

Más detalles

Guía práctica de estudio 07: Herencia

Guía práctica de estudio 07: Herencia Guía práctica de estudio 07: Herencia Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 07: Herencia Objetivo:

Más detalles

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo - Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta Excepciones... 5 Excepciones de uso frecuente... 8 Excepciones no comprobadas... 13 Excepciones comprobadas... 14 La clase Runtime Exception...

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE DE UNIDAD DE APRENDIZAJE NOMBRE DE LA UNIDAD DE APRENDIZAJE

Más detalles

Herencia. Implementación en Java

Herencia. Implementación en Java Herencia Implementación en Java Herencia Concepto de Herencia Es el mecanismo que permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 EXCEPCIONES. Ing. Bruno López Takeyas, M.C.

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 EXCEPCIONES. Ing. Bruno López Takeyas, M.C. CAPÍTULO 8 EXCEPCIONES 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Cómo se controlan los posibles errores que ocurran durante la ejecución de una aplicación? Un programador, puede

Más detalles

Resumen Manejo de Excepciones

Resumen Manejo de Excepciones Resumen Manejo de Excepciones Excepción Excepción es un cierto tipo de error o una condición anormal que se ha producido durante la ejecución de un programa. El nombre de excepción viene del hecho de que,

Más detalles

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE Los modificadores de acceso, como su nombre indica, determinan desde qué clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:

Más detalles

PRIMER EXAMEN PARCIAL. 5 de febrero de SOLUCIONES

PRIMER EXAMEN PARCIAL. 5 de febrero de SOLUCIONES FUNDAMENTOS DE PROGRAMACIÓN Curso: 2012/13 PRIMER EXAMEN PARCIAL. 5 de febrero de 2013. SOLUCIONES Versión:1.0.7 EJERCICIO 1: El tipo Beca a) 0,25 puntos public enum TipoBeca { ORDINARIA, MOVILIDAD, EMPRESA

Más detalles

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz 168 A. García-Beltrán y J.M. Arranz 16. Herencia Objetivos: a) Definir el concepto de herencia entre clases b) Interpretar el código fuente de una aplicación Java donde aparecen clases relacionadas mediante

Más detalles

Estructuras de control selectivas

Estructuras de control selectivas Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos

Más detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005 24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos

Más detalles

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

Clases y herencia. FJP Unidad 8. Diseño de clases

Clases y herencia. FJP Unidad 8. Diseño de clases Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VIII Composición... 4 Herencia... 8 Herencia e Inicialización... 11 Constructor de Superclase...

Más detalles

Soluciones Ejercicios Tema 1

Soluciones Ejercicios Tema 1 BonoMetro (I) 1 Soluciones Ejercicios Tema 1 Germán Moltó Martínez gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia

Más detalles

Tema 15: Aserciones 0

Tema 15: Aserciones 0 Tema 15: Aserciones 0 Aserciones Definición Una aserción es una condición lógica insertada en el código Java, de ideas o condiciones que se asumen son ciertas. El sistema se encarga de comprobarlas y avisar

Más detalles

Apuntes de Java. Tema 6: Excepciones. Uploaded by Ingteleco

Apuntes de Java. Tema 6: Excepciones. Uploaded by Ingteleco Apuntes de Java Tema 6: Excepciones Uploaded by Ingteleco http://ingteleco.webcindario.com ingtelecoweb@hotmail.com La dirección URL puede sufrir modificaciones en el futuro. Si no funciona contacta por

Más detalles

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,

Más detalles

Examen Teórico. Convocatoria de Febrero de 2015

Examen Teórico. Convocatoria de Febrero de 2015 Examen Teórico Convocatoria de Febrero de 2015 Nombre: DNI: Grupo: 1. Contesta de forma razonada a las siguientes cuestiones relacionadas con los ficheros.jar: a) Para qué se utilizan los ficheros con

Más detalles

2. Indica cuál de las siguientes afirmaciones es cierta:

2. Indica cuál de las siguientes afirmaciones es cierta: Nombre:. Indica cuál de las siguientes afirmaciones es cierta: El diseño de un programa procedural está guiado por la división en tareas a realizar, mientras que el diseño orientado a objetos está dirigido

Más detalles

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores. Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión IX Composición... 4 Herencia... 8 Herencia e Inicialización... 12 Constructor de Superclase...

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM. Programación en Java Diciembre 2010 Índice 1 Introducción 2 Comportamiento y estado 3 POO en Java 4 Relaciones 5 Herencia

Más detalles

Solucion al Examen de Fundamentos de Computadores y Lenguajes

Solucion al Examen de Fundamentos de Computadores y Lenguajes Solucion al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2006 1) Escribir una clase que permita almacenar una lista de jugadores

Más detalles

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

TEMA 8. Excepciones en Java. Curso de Java. Manejo de Excepciones

TEMA 8. Excepciones en Java. Curso de Java. Manejo de Excepciones TEMA 8 Excepciones en Java Manejo de Excepciones Cuando un programa Java viola las restricciones semánticas del lenguaje (se produce un error), la máquina virtual Java comunica este hecho al programa mediante

Más detalles

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++; Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja

Más detalles

Tema 14: Excepciones

Tema 14: Excepciones Tema 14: Excepciones 0 Excepción Definición Las Excepciones son objetos que definen el estado de la aplicación cuando se producen situaciones anómalas. Son un mecanismo usado por muchos lenguajes de programación

Más detalles

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Tema 7.- Fundamentos de la Programación Orientada a Objetos Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).

Más detalles

Lenguaje Java. Sesión 3: Tratamiento de errores. Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

Lenguaje Java. Sesión 3: Tratamiento de errores. Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles Lenguaje Java Sesión 3: Tratamiento de errores 2012-2013 Depto. Ciencia de la Computación e IA Índice Excepciones Captura de excepciones Propagación de excepciones Nested exceptions Errores en tiempo de

Más detalles

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases INDICE Prologo XIII 1 Recorrido rápido de java 1.1. Para empezar 1 1.2. Variables 2 1.3. Comentarios en el condigo 1.4. Constantes con nombre 5 1.4.1. Caracteres Unicode 6 1.5. Flujo de control 7 1.6.

Más detalles

Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática

Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Introducción. Conversión

Más detalles

Fundamentos de Programación

Fundamentos de Programación Fundamentos de Programación Extensión de clases: herencia y polimorfismo 13.12.2010 José A. Mañas Dpto. de Ingeniería de Sistemas Telemá@cos hcp://www.lab.dit.upm.es/~fprg/ extensión

Más detalles

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos 1 Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente,

Más detalles

Programación II Objetos en Java

Programación II Objetos en Java Programación II Objetos en Java Definición Objeto: Conjunto de datos y métodos relacionados. Los objetos se alojan en una parte de la RAM reservada al proceso denominada memoria dinámica, y son referenciados

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

7. Otras sentencias Sentencia break. 84 A. García-Beltrán y J.M. Arranz

7. Otras sentencias Sentencia break. 84 A. García-Beltrán y J.M. Arranz 84 A. García-Beltrán y J.M. Arranz 7. Otras sentencias Objetivos: a) Describir el funcionamiento de las otras sentencias de control (break, continue y try-catch) b) Interpretar el resultado de una secuencia

Más detalles

INDICE Prefacio 1. Fundamentos de Java 2. Introducción a los tipos de datos y operadores

INDICE Prefacio 1. Fundamentos de Java 2. Introducción a los tipos de datos y operadores INDICE Prefacio XVII 1. Fundamentos de Java 1 Los orígenes de Java 2 Como se relaciona Java con C y C++ 4 Contribución de Java a Internet Los Apples de Java y aplicaciones 6 Seguridad Portabilidad 7 La

Más detalles

Colas. 5.1 Implementación

Colas. 5.1 Implementación Capítulo 5 Colas Las colas al igual que las pilas son un tipo especial de listas en las cuales los elementos se insertan por un lado y se eliminan por el otro. Es decir se sacan en el mismo orden en que

Más detalles

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo Tema 4 Control de flujo Programación 2015-2016 Programación - Tema 4: Control de Flujo 1 Tema 4. Control de flujo Introducción. Estructuras condicionales. Estructuras de repetición. Programación - Tema

Más detalles

Herencia. Hay clases que comparten gran parte de sus características.

Herencia. Hay clases que comparten gran parte de sus características. Herencia Hay clases que comparten gran parte de sus características. El mecanismo conocido con el nombre de herencia permite reutilizar clases: Se crea una nueva clase que extiende la funcionalidad de

Más detalles

PROGRAMACION I Archivos directos

PROGRAMACION I Archivos directos PROGRAMACION I Archivos directos Un archivo relativo (directo) consiste en una colección de registros de longitud fija almacenados uno al lado del otro en un dispositivo de almacenamiento de acceso directo.

Más detalles