PRÁCTICA 4: DISEÑO DE TIPOS Versión: 1.0.1
|
|
- José Manuel Gonzalo del Río Cruz
- hace 6 años
- Vistas:
Transcripción
1 FUNDAMENTOS DE PROGRAMACIÓN Curso: 2010/11 PRÁCTICA 4: DISEÑO DE TIPOS Versión: SOLUCIONES Ejercicios 1, 2 y 3 Definición de interfaces Tipo Punto public interface Punto extends Copiable<Punto>, Comparable<Punto>{ public Double getx(); public Double gety(); public void setx(double x1); public void sety(double y1); Tipo Circulo public interface Circulo extends Comparable<Circulo>,Copiable<Circulo> { public Double getradio(); public Punto getcentro(); public void setradio(double r); public void setcentro(punto p); public Double getarea(); public Double getlongitud(); Tipo Persona public interface Persona extends Comparable<Persona>, Copiable<Persona> { String getnombre(); String getapellidos() ; String getdni() ; Integer getedad(); Double getestatura(); Character getsexo(); void setedad(integer e); void setestatura(double e); void setsexo(character s); Implementación de las clases con los esquemas propuestos Implementación de Punto public class PuntoImpl implements Punto { private Double x; private Double y; public PuntoImpl (Double x1, Double y1) { if(x1==null y1 == null){ "Algún parámetro es null");
2 Práctica 4: Diseño de tipos 2 x=x1; y=y1; public Double getx() { return x; public Double gety() { return y; public void setx(double x1) { if(x1==null){ "Algún parámetro es null"); x=x1; public void sety(double y1) { if(y1 == null){ "Algún parámetro es null"); y=y1; public boolean equals (Object o){ boolean res = false; if(o instanceof Punto){ Punto p = (Punto) o; res = getx().equals(p.getx()) && gety().equals(p.gety()); return res; public String tostring() { String s="("+getx()+","+ gety()+")"; return s; public int hashcode(){ return getx().hashcode() * 31 + gety().hashcode(); public int compareto(punto p){ int cmp = getx().compareto(p.getx()); if(cmp == 0){ cmp = gety().compareto(p.gety()); return cmp; public Punto clone() { Punto copia = null; try { copia = (Punto) super.clone(); catch (CloneNotSupportedException e) { e.printstacktrace(); Implementación de Circulo public class CirculoImpl implements Circulo { private Double radio;
3 Práctica 4: Diseño de tipos 3 private Punto centro; public CirculoImpl(Double r, Punto p){ if(r==null p == null r <= 0){ "Algún parámetro es incorrecto"); radio = r; centro = p; public Double getradio(){ return radio; public Punto getcentro(){ return centro; public void setradio(double r){ radio = r; public void setcentro(punto p){ centro = p; public Double getarea(){ Double res = Math.PI * Math.pow(radio, 2); return res; public Double getlongitud(){ return 2 * Math.PI * radio; public Circulo clone() { Circulo copia = null; try { copia = (Circulo) super.clone(); catch (CloneNotSupportedException e) { e.printstacktrace(); public int compareto(circulo e) { int cmp = this.getradio().compareto(e.getradio()); cmp = this.getcentro().compareto(e.getcentro()); return cmp; public String tostring() { return "Radio : " + radio + getcentro(); public int hashcode() { final int prime = 31; int result = 1; result = prime * result + getcentro().hashcode(); result = prime * result + getradio().hashcode(); return result; public boolean equals(object obj) { boolean res = false; if (obj instanceof Circulo){ Circulo other = (Circulo) obj; res = getcentro().equals(other.getcentro())&& getradio().equals(other.getradio());
4 Práctica 4: Diseño de tipos 4 return res; Implementación de Persona public class PersonaImpl implements Persona { private String nombre; private String apellidos ; private String dni ; private Integer edad; private Double estatura; private Character sexo; public PersonaImpl(String nombre, String apellidos, String dni, Integer edad, Double estatura, Character sexo) { super(); if(nombre==null apellidos == null dni == null edad == null estatura == null sexo == null estatura <= 0.0 edad < 0){ "Algún parámetro es inapropiado"); this.nombre = nombre; this.apellidos = apellidos; this.dni = dni; this.edad = edad; this.estatura = estatura; this.sexo = sexo; public Integer getedad() { return edad; public void setedad(integer edad) { if( edad == null edad < 0){ "Algún parámetro es inapropiado"); this.edad = edad; public String getnombre() { return nombre; public String getapellidos() { return apellidos; public String getdni() { return dni; public Character getsexo() { return sexo; public Double getestatura() { return estatura; public void setestatura(double estatura) { if(estatura == null estatura <= 0.0){ "Algún parámetro es inapropiado");
5 Práctica 4: Diseño de tipos 5 this.estatura = estatura; public void setsexo(character sexo) { this.sexo = sexo; public Persona clone() { Persona copia = null; try { copia = (Persona) super.clone(); catch (CloneNotSupportedException e) { e.printstacktrace(); public int compareto(persona e) { int cmp = this.getapellidos().compareto(e.getapellidos()); cmp = this.getnombre().compareto(e.getnombre()); cmp = this.getdni().compareto(e.getdni()); return cmp; public String tostring() { return "" + nombre +", " + apellidos + " (" + dni + ")"; public int hashcode() { final int prime = 31; int result = 1; result = prime * result + apellidos.hashcode(); result = prime * result + dni.hashcode(); result = prime * result + nombre.hashcode(); return result; public boolean equals(object obj) { boolean res = false; if (obj instanceof PersonaImpl){ Persona other = (Persona) obj; res = getapellidos().equals(other.getapellidos()) && getdni().equals(other.getdni()) && getnombre().equals(other.getnombre()); return res; Implementación de las clases con el generador de código de Eclipse Obsérvese que el generador automático de Eclipse utiliza esquemas y criterios que pueden no coincidir con nuestros diseños. En concreto, 1. En los constructores no se gestionan excepciones; en nuestro código sí, por ejemplo no admitir null en los atributos. 2. Los métodos get y set los nombra get/set, la inicial del atributo en mayúscula y el resto de caracteres en minúscula; esto fallaría en el caso del método getdni de nuestra interfaz. 3. En el método tostring su formato estándar es NombreClase : nombre atributo valor
6 Práctica 4: Diseño de tipos 6 4. El método equals solo trabaja con los de la misma implementación y no considerando la misma interfaz como en nuestro esquema. El método sí gestiona adecuadamente los atributos que pudiesen estar a null en el objeto a comparar. 5. El método hashcode gestiona adecuadamente los atributos que pudiesen estar a null en el objeto. Implementación de Punto usando el generador de código public class PuntoImpl2 implements Punto { private Double x; private Double y; public PuntoImpl2(Double x, Double y) { super(); this.x = x; this.y = y; public Double getx() { return x; public void setx(double x) { this.x = x; public Double gety() { return y; public void sety(double y) { this.y = y; public String tostring() { return "PuntoImpl2 [x=" + x + ", y=" + y + "]"; public int hashcode() { final int prime = 31; int result = 1; result = prime * result + ((x == null)? 0 : x.hashcode()); result = prime * result + ((y == null)? 0 : y.hashcode()); return result; public boolean equals(object obj) { if (this == obj) return true; if (obj == null) if (!(obj instanceof PuntoImpl2)) PuntoImpl2 other = (PuntoImpl2) obj; if (x == null) { if (other.x!= null) else if (!x.equals(other.x)) if (y == null) { if (other.y!= null) else if (!y.equals(other.y)) return true;
7 Práctica 4: Diseño de tipos 7 public int compareto(punto e) { int cmp = this.getx().compareto(e.getx()); cmp = this.gety().compareto(e.gety()); return cmp; public Punto clone(){ Punto copia=null; try{ copia=(punto)super.clone(); catch(clonenotsupportedexception e){e.printstacktrace(); Implementación de Circulo usando el generador de código public class CirculoImpl2 implements Circulo { private static final Double PI = new Double(3.1416); private Double radio; private Punto centro; public CirculoImpl2(Double r, Punto p){ if(r==null p == null r <= 0){ "Algún parámetro es incorrecto"); radio = r; centro = p; public Double getradio(){ return radio; public Punto getcentro(){ return centro; public void setradio(double r){ radio = r; public void setcentro(punto p){ centro = p; public Double getarea(){ Double res = PI * Math.pow(radio, 2); return res; public Double getlongitud(){ return 2 * PI * radio; public Circulo clone() { Circulo copia = null; try { copia = (Circulo) super.clone(); catch (CloneNotSupportedException e) { e.printstacktrace(); public int compareto(circulo e) { int cmp = this.getradio().compareto(e.getradio());
8 Práctica 4: Diseño de tipos 8 cmp = this.getcentro().compareto(e.getcentro()); return cmp; public String tostring() { return "CirculoImpl [radio="+radio+",centro="+centro+"]"; public int hashcode() { final int prime = 31; int result = 1; result = prime * result + ((centro == null)? 0 : centro.hashcode()); result = prime * result + ((radio == null)? 0 : radio.hashcode()); return result; public boolean equals(object obj) { if (this == obj) return true; if (obj == null) if (!(obj instanceof CirculoImpl2)) CirculoImpl2 other = (CirculoImpl2) obj; if (centro == null) { if (other.centro!= null) else if (!centro.equals(other.centro)) if (radio == null) { if (other.radio!= null) else if (!radio.equals(other.radio)) return true; Implementación de Persona usando el generador de código public class PersonaImpl2 implements Persona { private String nombre; private String apellidos ; private String dni ; private Integer edad; private Double estatura; private Character sexo; public PersonaImpl2(String nombre, String apellidos, String dni, Integer edad, Double estatura, Character sexo) { super(); this.nombre = nombre; this.apellidos = apellidos; this.dni = dni; this.edad = edad; this.estatura = estatura; this.sexo = sexo; public Integer getedad() {
9 Práctica 4: Diseño de tipos 9 return edad; public void setedad(integer edad) { if( edad == null edad < 0){ "Algún parámetro es inapropiado"); this.edad = edad; public String getnombre() { return nombre; public String getapellidos() { return apellidos; public Character getsexo() { return sexo; public String getdni() { return dni; public Double getestatura() { return estatura; public void setestatura(double estatura) { if(estatura == null estatura <= 0.0){ "Algún parámetro es inapropiado"); this.estatura = estatura; public void setsexo(character sexo) { this.sexo = sexo; public Persona clone() { Persona copia = null; try { copia = (Persona) super.clone(); catch (CloneNotSupportedException e) { e.printstacktrace(); public int compareto(persona e) { int cmp = this.getapellidos().compareto(e.getapellidos()); cmp = this.getnombre().compareto(e.getnombre()); cmp = this.getdni().compareto(e.getdni()); return cmp; public String tostring() { return "PersonaImpl2 [nombre=" + nombre + ", apellidos=" + apellidos + ", dni=" + dni + "]"; public int hashcode() { final int prime = 31; int result = 1; result = prime * result + ((apellidos == null)? 0 :
10 Práctica 4: Diseño de tipos 10 apellidos.hashcode()); result = prime * result + ((dni == null)? 0 : dni.hashcode()); result = prime * result + ((nombre == null)? 0 : nombre.hashcode()); return result; public boolean equals(object obj) { if (this == obj) return true; if (obj == null) if (!(obj instanceof PersonaImpl2)) PersonaImpl2 other = (PersonaImpl2) obj; if (apellidos == null) { if (other.apellidos!= null) else if (!apellidos.equals(other.apellidos)) if (dni == null) { if (other.dni!= null) else if (!dni.equals(other.dni)) if (nombre == null) { if (other.nombre!= null) else if (!nombre.equals(other.nombre)) return true; Ejercicio 4 Tipo Racional public interface Racional extends Comparable<Racional>, Copiable<Racional> { Integer getnumerador(); Integer getdenominador(); Double getvalorreal(); void setnumerador(integer a); void setdenominador(integer a); void suma(racional r); void resta(racional r); void multiplica(racional r); void divide(racional r); void invierte(); Implementación de Racional public class RacionalImpl implements Racional { private Integer numerador; private Integer denominador; public RacionalImpl() { numerador = 1;
11 Práctica 4: Diseño de tipos 11 denominador = 1; public RacionalImpl(Integer a) { if( a == null) "Parametro null"); numerador = a; denominador = 1; public RacionalImpl(Integer a, Integer b) { if( a == null b == null b == 0 ) "Parametros null o el divisor es cero"); if (b <0){ numerador = -a; denominador = -b; else { numerador = a; denominador = b; public Integer getnumerador(){ return numerador; public Integer getdenominador(){ return denominador; public Double getvalorreal(){ return ((double)getnumerador())/getdenominador(); public void setnumerador(integer a) { numerador = a; public void setdenominador(integer b){ if( b == 0) "El Divisor no puede ser cero"); denominador = b; public void suma(racional r) { Integer a= getnumerador()*r.getdenominador() + getdenominador()*r.getnumerador(); Integer b = getdenominador()*r.getdenominador(); setnumerador(a); setdenominador( b); public void resta(racional r){ Integer a=getnumerador()*r.getdenominador()- getdenominador()*r.getnumerador(); Integer b = getdenominador()*r.getdenominador(); setnumerador(a); setdenominador( b); public void multiplica(racional r){ Integer a = getnumerador()*r.getnumerador(); Integer b = getdenominador()*r.getdenominador(); setnumerador(a); setdenominador( b); public void divide(racional r){ if(r.getnumerador() == 0) throw new ArithmeticException( "No se puede dividir entre cero"); Integer a = getnumerador()*r.getdenominador();
12 Práctica 4: Diseño de tipos 12 Integer b = getdenominador()*r.getnumerador(); setnumerador(a); setdenominador(b); public void invierte(){ if(getnumerador() == 0) throw new ArithmeticException( "No se puede invertir si el numerador es cero"); Integer a = getnumerador(); Integer b = getdenominador(); if( getnumerador() > 0){ setnumerador(a); setdenominador( b); else { setnumerador(-a); setdenominador( -b); public Racional clone(){ Racional copia = null; try { copia = (Racional) super.clone(); catch(clonenotsupportedexception e){ e.printstacktrace(); public String tostring(){ String s = getnumerador().tostring(); if(!getdenominador().equals(1)){ s = s + "/" + getdenominador(); return s; public boolean equals (Object r){ boolean res = false; if(r instanceof Racional){ Racional r1 = (Racional) r; Integer prod1 = getnumerador()*r1.getdenominador(); Integer prod2 = getdenominador()*r1.getnumerador(); res = prod1.equals(prod2); return res; public int hashcode(){ Integer n = getnumerador(); Integer d = getdenominador(); Integer mcd = Enteros.mcd(n,d); n = n/mcd; d = d/mcd; return n.hashcode()*31 + d.hashcode(); public int compareto(racional r){ Integer prod1 = getnumerador()*r.getdenominador(); Integer prod2 = getdenominador()*r.getnumerador(); return prod1.compareto(prod2);
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 detallesEntiendo los métodos de Java equals y hashcode
Todos los días cuando programamos usamos objetos y en muchas ocasiones necesitamos comparar unos con otros. Para ello en muchas ocasiones usamos los métodos de de Java equals y hashcode. Estos métodos
Más detallesUnidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos
Unidad Didáctica 1 Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Más detallesUnidad 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 detallesExamen 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 detallesUnidad 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 detallesPOO en Java. Relaciones de composición y Herencia. Composición: clase Círculo. Composición. Herencia: La palabra reservada extends
Relaciones de composición y Herencia POO en Java Características: Composición tiene un Herencia es un Polimorfismo. Abstracción. Clases y objetos. Java Arrays y Cadenas 1 Java Arrays y Cadenas 2 Composición
Más detallesFUNDAMENTOS DE PROGRAMACIÓN Curso: 2011/12
EJERCICIO 1 3,5 ptos public class CategoriaNoValidaException extends RuntimeException { public CategoriaNoValidaException() { super(); public CategoriaNoValidaException(String msg) { super(msg); Apartado
Más detallesProgramació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 detallesPROGRAMACIÓ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 detallesHerencia 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 detallesFUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005
Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas
Más detallesInterfaces. 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 detallesTema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Más detallesAplicaciones de Escritorio
Aplicaciones de Escritorio Introducción n a la Programación Orientada a Objetos con Java Disertantes: Ing. Rasjido, Jose. AdeS Montenegro, Cristian. Agenda Clases y Paquetes. Clases y Paquetes. Modificadores
Más detallesVariables. 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 detallesCarlos 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 detallesProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y
Más detallesTema 3 Herencia. Primera parte. Herencia en Java Programación Orientada a Objetos Curso 2010/2011
Tema 3 Herencia Primera parte. Herencia en Java Programación Orientada a Objetos Contenido Introducción. Definición y tipos. Constructores. Redefinición. Restringir la herencia. Visibilidad protegida.
Más detallesConstrucciones 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 detallesTema 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 detallesAlgoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad. Guillermo Román Díez
Algoritmos y Estructuras de Datos: Ordenación y Colas con Prioridad Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción a la Recursión
Más detallesIdentificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente
Más detallesFUNDAMENTOS DE PROGRAMACIÓN Curso: 2013/14 EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE. EJERCICIO 1 Cuestiones (1 punto)
EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE EJERCICIO 1 Cuestiones (1 punto) 1 2 3 4 5 6 7 8 9 10 Seleccione la opción correcta en cada caso, teniendo en cuenta que tan sólo puede marcar
Más detallesCentro 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 detallesINTERFACES SET Y SORTEDSET DEL API DE JAVA. CLASES HASHSET Y TREESET. EJEMPLO. DIFERENCIAS ENTRE ELLAS. (CU00921C)
APRENDERAPROGRAMAR.COM INTERFACES SET Y SORTEDSET DEL API DE JAVA. CLASES HASHSET Y TREESET. EJEMPLO. DIFERENCIAS ENTRE ELLAS. (CU00921C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
Más detallesAlgoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez
Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común
Más detallesQué 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 detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Más detallesHOJA 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 detalles2. Estructura de un programa en Java
24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador
Más detallesPráctica 5. Fecha límite de entrega: viernes, 14 de diciembre
Algoritmos http://www.lfcia.org/alg/ 2007-2008 Ingeniería Informática Ingeniería Técnica de Informática de Gestión Práctica 5 Fecha límite de entrega: viernes, 14 de diciembre Implementación de un Diccionario
Más detallesEJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)
APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
Más detallesFundamentos 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 detallesSoluciones Ejercicios Tema 3
1 Soluciones Ejercicios Tema 3 Germán Moltó gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Solución Ejercicio
Más detallesMetodología y Tecnología de la Programación
Metodología y Tecnología de la Programación Curso 2008/09 Tema 7 Tipos de Datos Abstractos Temario 7.1 Concepto de Tipo de Datos Abstracto 7.2 Clasificación de Tipos de Datos Abstractos 7.3 Especificación
Más detallesAlgoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos
Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de
Más detallesPROGRAMACIÓN GENÉRICA
PROGRAMACIÓN GENÉRICA Lenguajes de Programación - Orientación a Objetos: Progr. Genérica 1 Programación genérica Objetivo: escribir algoritmos genéricos, independientes de las clases concretas de los datos
Más detallesPolimorfismo 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 detallesPráctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.
Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores
Más detallesINICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ
INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ Tema 3 Clases y Objetos Tema 4 Comunicación entre objetos. Algoritmos Tema 5 Herencia y abstracción de datos Tema 6 Diseño de clases TEMA 5: Herencia
Más detallesElementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Más detallesIntroducció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 detallesTema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011
Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas
Más detallesSoluciones 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 detallesTutorial 1: Desarrollo de un plugin
Tutorial 1: Desarrollo de un plugin En este tutorial introductorio se creará un plugin siguiendo una de las plantillas que ofrece Eclipse. Concretamente se extenderá una vista para mostrar cierta información
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra l.guerra@upm.es Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia
Más detallesDerechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
Más detallesOrdenación de colecciones de objetos.
Ordenación de colecciones de elementos Ordenación de colecciones de objetos. Revisión 1.1 Introducción. Debido a que en los últimos tiempos esta parece ser una de las preguntas más frecuentes que aparecen,
Más detallesHerencia. 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 detallesPROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07
PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada
Más detallesNIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS
1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para
Más detallesJavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1
Departamento de Lenguajes y Sistemas Informáticos JavaScript Programación en Internet Curso 2005-2006 Contenidos Introducción El lenguaje Validación de formularios DLSI - Universidad de Alicante 1 Introducción
Más detallesCLAVE 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 detallesDepto. 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 detallesIntroducció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 detallesINTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)
APRENDERAPROGRAMAR.COM INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) Sección: Cursos Categoría: Lenguaje de programación Java
Más detallesProgramació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 detallesParte 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 detallesCurso 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 detallesExamen. Programación II
UNIVERSIDAD ANDRÉS BELLO 1 Examen Programación II Nombre: Profesores: Nota: José Luis Allende Carlos Beyzaga. Fecha: 3 de Diciembre de 2013 Instrucciones: Coloque su nombre a todas las hojas. Seleccione
Más detallesPrá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 4. Tratamiento de errores Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad
Más detallesTema 6: Programación Orientada a Objetos en C# Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle
Tema 6: Programación Orientada a Objetos en C# Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Contenido Introducción. Clases y Objetos en C#: Módulos: Clases, Estructuras, Espacios
Más detallesINICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA
INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA Introducción Qué es programar? Idear y ordenar las acciones necesarias para realizar un proyecto (R.A.E) En nuestro contexto: Resolver problemas, Automatizar
Más detallesClases Abstractas e Interfaces
Clases Abstractas e Interfaces Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender a crear y utilizar clases y métodos abstractos
Más detallesINTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)
APRENDERAPROGRAMAR.COM INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
Más detallesMétodos CON valor de retorno
Métodos Estáticos C# Fundamentos de Programación. Objetivos del tema: Qué es un método? Qué métodos conoces? Métodos que NO devuelven valor. Métodos que SI devuelven un valor. Paso de parámetros. Variables
Más detallesGrado en Ingeniería Informática. Estructura de Datos y Algoritmos, Grupo 84M, 2014/ de Marzo de
Grado en Ingeniería Informática Estructura de Datos y Algoritmos, Grupo 84M, 2014/2015 12 de Marzo de 2015 Nombre y Apellidos:... PROBLEMA 1 (1 punto) Programación Orientada a Objetos. Una empresa de alquiler
Más detallesSolución al Examen de Prácticas de Programación (Ingeniería Informática)
Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa
Más detallesObjetivo de aprendizaje del tema
Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar
Más detallesIngeniería del Software Separación entre Presentación y Lógica del Negocio
Introducción En este laboratorio desarrollaremos una aplicación que verifica si una cuenta y un password son correctos. En dicha aplicación la presentación y la lógica del negocio se definirán en dos capas
Más detalles16. 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 detalles15. Parámetros o argumentos
Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el
Más detallesExperto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles. Sesión 1: Introducción al Lenguaje Java
Lenguaje Java Sesión 1: Introducción al Lenguaje Java 2012-2013 Depto. Ciencia de la Computación e IA Índice Introducción a Java Conceptos de POO Elementos de un programa Java Herencia, interfaces, polimorfismo
Más detallesProgramació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 detallesTema 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 detalles3.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 detallesEn este capitulo se estudiarán los conceptos relacionados a métodos, como lo son sobrecarga, métodos estáticos.
Lección 3: Creando clases 1. Definición de métodos 2. Sobrecarga de métodos 3. Definición de constructores 4. Creando miembros estáticos 5. Construcción e inicialización de objetos Objetivos En este capitulo
Más detallesTema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7
Programación IV. Guía 7 1 Tema: Grafos en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Objetivos Específicos Definir el concepto de Grafo. A partir de una clase agregar la
Más detallesProgramación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C.
CAPÍTULO 8 DELEGADOS 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es un delegado? Para qué sirve? En qué circunstancias se recomienda implementar delegados? Qué es un método anónimo?
Más detallesJava: control de excepciones
Java: control de excepciones Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Introducción v Una excepción es un evento que ocurre
Más detallesPatrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para
Más detallesHERENCIA. 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 detallesAPELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:...
Cuadernillo de examen ASIGNATURA Laboratorio de Sistemas Operativos Abiertos (Java) CÓDIGO 321 CONVOCATORIA Extraordinaria de Septiembre de 2003 PLAN DE ESTUDIOS 1996 ESPECIALIDAD Sistemas CURSO 2002/2003
Más detallesFIUBA - 7507 Algoritmos y programación 3
FIUBA - 7507 Algoritmos y programación 3 Trabajo práctico 2: Algo Hero 2010 1er cuatrimestre, 2010 1er entrega (trabajo grupal) Integrantes: 90365, Nahuel Lucero, nahuel.bm6@gmail.com 91299, Diego Meller,
Más detallesSebastiá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 detallesINDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)
APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:
Más detallesk. Son métodos de la clases y respectivamente, que analiza un para devolver un entero con
La multiplicación de matrices bidimensionales se puede realizar mediante el uso de hilos. Desde un hilo de ejecución, se pueden crear varios hilos, uno por cada entrada de la matriz resultante. Dos sentencias
Más detalles// Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal
INTERFACE interface IAnimal { static final int valor=5; // Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal public void comunicarse(); abstract class Animal
Más detallesPOO en lenguajes compilados de tipos estáticos (Java y C#)
POO en lenguajes compilados de tipos estáticos (Java y C#) Carlos Fontela cfontela@fi.uba.ar Temario Modelo de referencias, creación y destrucción de objetos (introducción) Paquetes y grupos de clases
Más detallesProgramación Orientada a Objetos. Orientación a Objetos en Java
Programación Orientada a Objetos Orientación a Objetos en Java Agenda Creación de Clases Tipo de datos Variables Operaciones aritméticas Objetos Objeto: entidad física o abstracta. Valores (datos): definen
Más detallesIntroducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4
Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando
Más detallesLo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.
Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de
Más detallesProgramació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 detallesEncapsulación: clases y objetos
Encapsulación: clases y objetos 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 Clases
Más detallesPRÁCTICA 14: CRITERIOS DE COMPARACIÓN Y ORDERING Versión: public class ComparadorVueloFecha implements Comparator<Vuelo>{
FUNDAMENTOS DE PROGRAMACIÓN Curso: 2010/11 PRÁCTICA 14: CRITERIOS DE COMPARACIÓN Y ORDERING Versión: 1.0.3 SOLUCIONES Ejercicio 1 public class ComparadorVueloFecha implements Comparator{ return
Más detallesProgramació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 detallesUNADM. Estructura de datos. Guillermo Duran Garcia AL Actividad 2. Identificación de errores en métodos de ordenación
UNADM Estructura de datos Actividad 2. Identificación de errores en métodos de ordenación Guillermo Duran Garcia AL12524075 Actividad 2. Identificación de errores en métodos de ordenación. La siguiente
Más detallesInterfaces y Clases Internas
Interfaces y Clases Internas (No es interfaz gráfica, sirve como alternativa a herencia múltiple) ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas?
Más detalles