Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fundamentos de la informática
Programación Java
Introspección
Utilidades de Java
Encapsulación
Herencia
Polimorfismo
Encapsulación
Atributos
Comportamiento m1
(métodos)
Herencia
Bicicleta
Superclase
Subclases
Reutilización de clases
Diseño de una nueva clase a partir de otra (herencia)
Diagramas de clases
+ Acceso público
- Acceso privado
# Acceso protegido
Diagramas de clases
Multipicidad Significado
Agregar agua
Desbordamiento
Capacidad
Volumen
actual
Quitar agua
¿Cuál es el modelo de clases para un depósito de agua?
Atributos (campos)
Depósito de agua
Atributos (campos)
Capacidad (m3)
Volumen actual (m3)
¿Cuál es el modelo de clases para un depósito de agua?
Nombre de la
clase Depósito de agua
Desbordamiento
capacidad volumenActual
Atributos
agregarAgua(cantidad) quitarAgua(cantidad)
Métodos
Clases y objetos
String nombre;
Persona alumno;
encabezado
System.out.println(msg);
}
Modificadores
Lista de parámetros
mostrarMensajeBienvenida(“Hola mundo”);
Ejecución de métodos
int a = 5, b = 10, c;
c = suma(5, 10);
c= suma(a, b);
Parámetros y argumentos
int x = teclado.nextInt();
return x;
}
Parámetros, argumentos y valor de retorno
x = leerNumero();
y = leerNumero();
System.out.println(suma/0);
}
El control de errores en tiempo de ejecución
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArithmeticException
try {
// bloque de código que gestiona la
excepción
}
catch ( tipoExcepción1 objeto ) {
// Gestión del tipo de excepción 1
}
catch ( tipoExcepción2 objeto ) {
// Gestión de tipo de excepción 2
}
finally {
// Gestión de otras excepciones
}
Las instrucciones try, catch, finally
java.lang.Object
|
+--java.lang.Throwable
|
+--java.lang.Exception
|
+--java.lang.RuntimeException
|
+--java.lang.IndexOutOfBoundsException
|
+--
java.lang.ArrayIndexOutOfBoundsException
Jerarquía de excepciones
int x = teclado.nextInt();
}
catch (NumberFormatException e)
{ System.out.print("Numero no
válido !!" );
}
catch (IOException e) {
System.out.print( "Error de entrada" );
}
}
Clases y objetos
Identidad
Estado
Comportamiento
Identidad
Estado
Comportamiento
}
Las clases en Java
mostrarNombre()
Las clases en Java
p1.nombre = ″Juan″;
p1.apellidos = ″Gonzalez″;
p2.nombre = ″Luis″;
p2.apellidos = ″Gómez″;
p1.mostraNombre();
p2.mostrarNombre();
}
}
Métodos de clases
getNombre()
setNombre()
Métodos de clases
public class Persona {
private String dni, nombre, apellidos;
private int añoNacimiento;
this.nombre = nombre;
public Cuenta()
{ this.balance = 0;
this.limiteCredito = LIMITE;
}
}
Constructores
}
}
Constructores
int x = 100;
int y = 200;
int z;
public Cuenta()
{ this.balance = 0;
this.limiteCredito = LIMITE;
}
}
Ámbito de las variables
PI = Double.parseDouble(pi);
}
Vehiculo
marca modelo precioAlquiler
getMarca()
Autobús Turismo
numPlazas numPuertas
Relaciones entre clases: Agregación
listaVehiculos.add(new Vehiculo("Mercedes","E",55));
listaVehiculos.add(new Autobus("Mercedes","M20",100,20));
listaVehiculos.add(new Turismo("BMW","525",50,4));
listaVehiculos.add(new Turismo("Audi","A4",55,4));
listaVehiculos.add(new Autobus("Mercedes","M10",120,30));
listaVehiculos.add(new Turismo("VW","Passat",35,4));
listaVehiculos.add(new Turismo("Audi","A3",30,2));
listaVehiculos.add(new Turismo("Mercedes","E",60,4));
listaVehiculos.add(new Vehiculo("Audi","A3",30));
imprimirElementosLista((ArrayList)listaVehiculos);
}
}
Herencia y polimorfismo
Turismo("Audi","A4",55,4)
Vehiculo("Mercedes","E",55)
Autobus("Mercedes","M20",100,20)
Modificadores de acceso a clases de un mismo paquete
public SI SI
protected SI SI
private NO NO
Modificadores de acceso a clases de otro paquete
public SI SI
protected SI NO
private NO NO
Modificadores de acceso
listaVehiculos.add(new Vehiculo("Mercedes","E",55));
listaVehiculos.add(new Autobus("Mercedes","M20",100,20));
listaVehiculos.add(new Turismo("BMW","525",50,4));
listaVehiculos.add(new Turismo("Audi","A4",55,4));
listaVehiculos.add(new Autobus("Mercedes","M10",120,30));
listaVehiculos.add(new Turismo("VW","Passat",35,4));
listaVehiculos.add(new Turismo("Audi","A3",30,2));
listaVehiculos.add(new Turismo("Mercedes","E",60,4));
listaVehiculos.add(new Vehiculo("Audi","A3",30));
imprimirElementosLista((ArrayList)listaVehiculos);
}
}
Listas
(Vehiculo)lista.get(i);
v.imprimirAtributos();
System.out.println("");
}
}
Introspección
Información sobre las clases
Exception.class.getName()
Scanner.class.getName()
java.lang.Exception
java.util.Scanner
Utilidades
Ordenación con Comparator
import java.util.Comparator;
if (((Persona)a).getId() >
((Persona)b).getId()) return 1;
return 0;
}
}
Ordenación con Comparator (Programa principal)
import java.util.*;
imprimirLista((ArrayList)listaPersonas);
listaPersonas.remove(2);
imprimirLista((ArrayList)listaPersonas);
Collections.sort(listaPersonas,new
ComparadorPersona());
imprimirLista((ArrayList)listaPersonas);