Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Clases abstractas en java, Apuntes de Tecnología

Clases abstractas en java e interfaces

Tipo: Apuntes

2019/2020

Subido el 31/05/2020

chiona-chio
chiona-chio 🇪🇸

5

(1)

6 documentos

1 / 11

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
CLASES ABSTRACTAS-
INTERFACES
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Clases abstractas en java y más Apuntes en PDF de Tecnología solo en Docsity!

CLASES ABSTRACTAS-

INTERFACES

CLASES ABSTRACTAS

Son clases que se caracterizan por los siguiente: Suelen contener algún método abstracto (para el cual no hay escrito código) no se pueden crear objetos de dicha clase. es posible declarar referencias del tipo de la clase abstracta. Si queremos utilizar sus funcionalidades, estamos obligados a crear una clase que “herede” de la clase abstracta, y que sobrescriba (al menos) los métodos abstractos que tuviera.

La primer subclase concreta que

herede de una clase abstract debe

implementar todos los métodos de

la superclase.

public abstract class Principal{ /Método concreto con implementación/ public void metodoConcreto(){ ............... ............... } /Método Abstracto sin implementación/ public abstract void metodoAbstracto(); } class subClase extends Principal{ @Override public void metodoAbstracto() { /*Implementación definida por la clase concreta/ } }

/**

  • Clase Abstracta Instrumento / abstract class Instrumento{ public String tipo; public abstract void tocar(); } /*
  • Clase Concreta Guitarra, hija de Instrumento / class Guitarra extends Instrumento { public Guitarra(){ tipo="Guitarra"; } public void tocar() { System.out.println("Tocar La Guitarra"); } } /*
  • Clase Concreta Violin, hija de Instrumento / class Violin extends Instrumento { public Violin(){ tipo="Violin"; } public void tocar() { System.out.println("Tocar El violin"); } } /*
  • Clase Concreta Saxofon, hija de Instrumento */ class Saxofon extends Instrumento { public Saxofon(){ tipo="Saxofon"; } public void tocar() { System.out.println("Tocar el Saxofon"); } }

Interfaces

Es un concepto similar al de clase abstracta, es decir: un molde que define una estructura formal de métodos para una clase, aunque no especifica su código. Sirven para implementar un mecanismo similar al de herencia múltiple de otros lenguajes O.O. en JAVA Se parecen a las clases abstractas, pero a diferencia de éstas, todos sus métodos son obligatoriamente abstractos (por tanto no hay que escribir abstract en ningún sitio, porque se sobreentiende que todos lo son)

INTERFACES

En JAVA se declaran utilizando la palabra “ interface” , en lugar de “ class ”. Para crear una clase que escriba código para los métodos (indefinidos aún, ya que no tienen código) de una interface, se utiliza la palabra reservada “ implements en lugar de “ extends ”.  Se pueden declarar referencias a objetos cuyo tipo sea una interface en lugar de una clase. Esta forma de proceder tiene sentido para definir un objeto en función de un tipo más genérico para utilizar mecanismos como el polimorfismo. Los nombres de las interfaces deberían comenzar siempre por la letra “i” mayúscula.

La interfaz "Comparable"

Sirve para poder dotar de un orden natural a los objetos de una clase determinada. Las clases que la implementen, serán moldes para objetos que son susceptibles de ser comparados entre sí, y por tanto, ordenados. Tiene un solo método “ int compareTo(Object o)” , que debe devolver:  un número negativo (p.ej -1) : si this es menor que o0: si son iguales.  un número positivo (p.ej 1) : si this es mayor que o Es muy recomendable que “compareTo()” sea consistente con “equals()”, para no provocar comportamientos imprevisibles.

Ejemplo para Herencia