Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mtodos Estticos
La llamada a los mtodos static se realiza mediante la clase:
NombreClase.metodo(), respetando las reglas de visibilidad;
aunque tambin se pueden llamar con un objeto de la clase,
no es recomendable debido a que son mtodos
dependientes de la clase y no de los objetos.
Los atributos estticos deben llevar un modificador de
acceso que permita su uso desde el exterior de la misma,
este puede ser public, protected o ninguno.
Estructuras de Datos
ESPOL
2016-1T
Estructuras de Datos
ESPOL
2016-1T
Herencia
Estructuras de Datos
FIEC03012
Sesin 06
Estructuras de Datos
ESPOL
2016-1T
Herencia
Es un mecanismo para compartir atributos y mtodos entre
clases.
Permite definir una clase hija (subclase) a partir de una clase
Superclase
Subclase
Estructuras de Datos
ESPOL
2016-1T
Herencia
Por la herencia se forman jerarquas de clases (superclases y
subclases).
La clase hija hereda el interfaz (con la implementacin de las
operaciones) y los atributos.
Permite la reutilizacin de cdigo.
Relacin es un
Estructuras de Datos
ESPOL
2016-1T
Ejemplo de Herencia
Mamfero
- colorOjo:String
+ getcolorOjo: String
es un
es un
Perro
- frecLadrido:int
+ ladrar::void
es un
PastorAlemn
+ esAleman::void
Gato
- frecMaullido:int
+maullar::void
es un
Poodle
+ esFrances::void
Estructuras de Datos
ESPOL
2016-1T
Herencia
ANTES
Auto
maxFuel
maxNroDePasajeros
modelo
velocidad
acelerar()
desacelerar()
girarAIzq()
girarADcha()
DESPUES
Vehiculo
maxFuel
maxNroDePasajeros
velocidad
Avion
maxAltitud
maxFuel
maxNroDePasajeros
velocidad
nroDeMotores
acelerar()
desacelerar()
descender()
ascender()
superclase
acelerar()
desacelerar()
Auto
modelo
Avion
maxAltitud
nroDeMotores
doblarAIzq()
doblarADcha()
descender()
ascender()
subclases
Estructuras de Datos
ESPOL
2016-1T
Herencia
Java
UML
Vehiculo
}
public class Auto extends Vehiculo{
}
Auto
Avion
Estructuras de Datos
ESPOL
2016-1T
Herencia
Persona
nombre, apellido, edad
Estudiante
numero matricula
Mostrar Nombre Apellido y Matricula
Estructuras de Datos
ESPOL
2016-1T
10
Herencia
Simple: una clase (clase hija) puede heredar de otra clase (una clase
padre).
Mltiple: una clase (clase hija) puede heredar de otras clases padres
Estructuras de Datos
ESPOL
2016-1T
11
Herencia
Simple: una clase (clase hija) puede heredar de otra clase (una clase
padre).
Mltiple: una clase (clase hija) puede heredar de otras clases padres
Estructuras de Datos
ESPOL
2016-1T
12
Herencia
Simple: una clase (clase hija) puede heredar de otra clase (una clase
padre).
Mltiple: una clase (clase hija) puede heredar de otras clases padres
Estructuras de Datos
ESPOL
2016-1T
13
Clases Abstractas
Su objetivo es especificar una estructura comn para todas sus
subclases.
El uso de clases abstractas puede simplificar el modelamiento de las
clases que participan en la misma relacin con otras clases.
No siempre se pueden encontrar clases abstractas.
14
Clases Abstractas
Figura {Abstracto}
Rectangulo
Estructuras de Datos
ESPOL
2016-1T
15
Clases Abstractas
Figura {Abstracto}
calcularArea()
Rectangulo
ancho, alto
calcularArea()
Circulo
radio, centro
calcularArea()
Estructuras de Datos
ESPOL
2016-1T
16
Clases Abstractas
Estructuras de Datos
ESPOL
2016-1T
17
Overriding
Es una relacin de herencia.
La clase hija puede extender o redefinir (override) el
comportamiento de la clase padre.
El Method Overriding (sobremontado de mtodo) permite
implementar un mismo mtodo de una superclase, en una subclase.
Estructuras de Datos
ESPOL
2016-1T
18
Overriding
Barco
alarma()
DeVapor
alarma()
Estructuras de Datos
ESPOL
2016-1T
19
Overriding
Estructuras de Datos
ESPOL
2016-1T
20
Overloading (Sobrecarga)
En una clase se puede definir dos o ms mtodos con el mismo
Estructuras de Datos
ESPOL
2016-1T
21
Polimorfismo
Significa que la misma operacin puede comportarse diferente en
clases distintas.
22
Ejemplo de Polimorfismo
Atributo:
area
FiguraGeomtrica
Mtodo:
ObtenerArea
rectngulo
crculo
Atributos:
radio
Atributos:
ancho
longitud
Mtodos:
ancho
CrearCirculo
Mtodos:
ObtenerArea
CrearRectangulo
ObtenerArea
Estructuras de Datos
ESPOL
2016-1T
23
Ejemplo de Polimorfismo
mtodo abstracto
Mtodo
abstracto
Figura {abstracto}
+obtenerArea()
Circulo
+obtenerArea()
Rectangulo
+obtenerArea()
mtodo concreto
Estructuras de Datos
ESPOL
2016-1T
24
Interface
Permite declarar un conjunto de constantes y de cabeceras de
mtodos abstractos.
Las interfaces son implementadas en las clases.
Estructuras de Datos
ESPOL
2016-1T
25
Ejemplo de un Interface
public interface Barco
{
void alarma();
void msgeSocorro(String av);
}
public class Pesquero implements Barco {
public Pesquero() {
}
public void alarma() {
System.out.println("Alarma desde el pesquero!!");
}
public void msgeSocorro(String av) {
System.out.println("SOS SOS!");
}
}
Estructuras de Datos
ESPOL
2016-1T
26
Variable Interfaz
public interface Caja {
Caja insertar (Object elemento);
}
public class CajaRegalo implements Caja {
public Caja insertar(Object e) { ...
}
}
public class CajaJuguete implements Caja{
public Caja insertar(Object e) { ...
}
}
Estructuras de Datos
ESPOL
2016-1T
Caja q;
q = new CajaRegalo();
q.insertar("Reloj");
...
q = new CajaJuguete();
q.insertar("Pelota");
27
Interface
Java por defecto no soporta Herencia Mltiple.
Sin embargo, una clase si puede implementar ms de una interfaz, es
decir si puede tener el comportamiento de varias interfaces
public class A implements B, C {
/* implementacion de B y C */
}
Estructuras de Datos
ESPOL
2016-1T
28