Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clases Abstractas
Clases Abstractas
Clases abstractas
Clase scuya desc ripció n es incom pleta .Un a
cla s e a bstracta decl améto
ra dos, pe ro n o
tienequ e impl em entarlos.
Noprop orcion an la impleme nta ció n detodossu s
método s
Los método s no implementad ossede claran
como abs tract
Una clase con un méto do abs tr acto debe
declarars e como claseabst ra ct a
Pero una clase pued ede clarar secomo
ab stra ct a aunqueno tenga ningún método
abst ra cto
Figura int x, y;
Las subclasesde una claseab stra ct a deben: public void mostrarOrigen () { System.out.println("x= "+x+" y= "+y);}
Sobreescri birtodo slo s méto dos abst racto s de public abstract double area(); // No tiene implementación public abstract double mostrarNombre ();
la supercla se, o bien
Se rdecl arada scomo clases abstracta s Trian
Una clase abs tr acta nopu ede instanci arse gulo
N o sepueden crearobjeto s deun a cl ase Cuadrado } public class Triangulo extends Figura { protected int base, altura; 1
public Triangulo (int ba, int al) { base=ba; altura=al; } public double area() { return base* altura/2; }
abstrac ta public void mostrarNombre () { System.out.println(“triangulo”); }
Una cl ase abs tr acta pued e i ncluirva riable s y }
método sno abs tr actos. public class Cuadrado extends Figura { protected int lado ;
Nose puedende finir con st ru ct oresabst ra ctos o public Cuadrado (int lado) { this.lado =lado; }
public double area() { return lado*lado; }
Jav a Ar ray s y Cadenas 5
cua = new
Cuadrado(5); fig = cua
Interfaces
Sólo declaran comportamiento
a clav
s s Se utiliz a la palabr e interfac e
públicost
N Por defe cto todo s su s método on
y abstrac os
o impleme ntan el comportamiento
Por defe cto todo s su s atribu tos
so n
públ ic os, constantes y declas e
Por legibilidad normalmente los declaramos
interface NombreInterfaz {
static y final tipo static final NOMBRECONSTANTE1 = valor;
…….….….
ám public tipoDevuelto nombreMetodo1(
Jav a Array
s y Cadenas 8 listaParámetros);
to doimp
s le
lo me
s nt
mésto dos delinte rf azdebe serdecl arada mostrarNombre();
como abst racta } …….….….
Empelado public}
class Elemento implements Nombrable10
Jav a Array
s y Cadenas 9 Jav a Array
s y Cadenas
{ String nombre;
ex tends public Elemento(String nom) {
Payab le p = n ew Programm er() ;
nombre = nom; }
Pr og ra mado r
// obligatorio implementar método
mostrarNombre public void
mostrarNombre(){
System.out.println("Nombre:
Jav a Array
s y Cadenas 11
Ejemplo de interfaz
public interface Nombrable {
static final boolean CIERTO = true; public void mostrarNombre();
}
public class Elemento implements Nombrable { String nombre;
public Elemento(String nom) {
nombre = nom; }
// obligatorio implementar método mostrarNombre public void mostr
System.out.println("Nombre: "+nombre); if (CIERTO) 2
System.out.println("Constante CIERTO ");
}}
puede
//utilizarse con una instancia
de
// una clase que lo
Humano Ac t or Cani no
... ...
ac t ua() ac t ua()
... ...
Extensión de interfaces
Ejemplo de interfaces Se puede definir un interface que especialiceo interface median exte
in te rface Actor
{
void actua();
}
sin cuerp o a otr te
pu bl ic cl as s Perso na exte nd s Humao n imple me nts
Ac to r {
public void actua (){ /*...*/} ; Es sim
ila r alahe rencia de clase s
} //..
.
public cl
Actor
ass Perro exte nd s Canin o imple ments
publi {
c vo
id actua(){ /*..
.* /} ;
//.. .
}
problemas
Jav a porqueArray
no seenahereda
s y Cad s código 15 Jav a Array
s y Cadenas 16
Résumen de interfaces
nc iab le yes no no
nsta
mplemen ta metodos algún método nada
dato
s
Se permiten Se permiten no se permiten