Title: Clases Abstractas
1Clases Abstractas
Ing. Andrea Quan
2Clases Abstractas
- Una clase abstracta es aquella cuyo unico
propósito es ser heredada (extendida)
public abstract class List protected int
size public int size() return
this.size public abstract void
insertFront(Object o)
3Clases Abstractas
- Las clases abstractas no permiten crear objetos
directamente.
List milista milista new List() //ERROR!
4Método abstracto
- Un método abstracto no tiene implementación
- su propósito es garantizar que cualquier clase
que herede a la clase abstracta lo implemente. - Para el ejemplo cualquier clase que herede
- la clase List deberá implementar un método
- insertFront.
5public class SLista extends List protected
SNodo head // size es heredado public void
insertFront(Object o) head new
SNodo(dato,head) size // método length
es heredado List l new SLista()
6Java Interfaces
7Java Interfaces
- Una Java Interface es como una clase abstracta,
pero con las siguientes diferencias - En Java una subclase puede heredar propiedades de
solo una clase, sin embargo puede IMPLEMENTAR
cuantas interfaces quiera - Una interfaz no puede implementar métodos, ni
tampoco declarar campos que no sean de tipo final
static.
8Ejemplo
public interface Inserts public void
insertEnd(Object o) public void
insertNth(Object o, int n) public interface
Deletes public void deleteFront() public
void deleteNth(int n) public void deleteEnd()
9Ejemplo
public class SLista extends List implements
Inserts,Deletes protected SNodo head public
SLista() head null size 0 . . .