Extends en java

Solo disponible en BuenasTareas
  • Páginas : 3 (611 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de octubre de 2010
Leer documento completo
Vista previa del texto
La herencia en java
Java permite el empleo de la herencia , característica muy potente que permite definir una clase tomando como base a otra clase ya existente. Esto es una de las bases de lareutilización de código, en lugar de copiar y pegar.
En java, como ya vimos la herencia se especifica agregando la claúsula extends después del nombre de la clase. En la claúsula extends indicaremos elnombre de la clase base de la cuál queremos heredar.
Al heredar de una clase base, heredaremos tanto los atributos como los métodos, mientras que los constructores son utilizados, pero no heredados.Practicas:
Construyamos la clase Taxista.java con el siguiente código:
public class Taxista extends Persona {
private int nLicencia;
public void setNLicencia(int num)
{
nLicencia = num;
}public int getLicencia()
{
return nLicencia;
}
}

Y construyamos ArranqueTaxista.java:

public class ArranqueTaxista {
public static void main (String arg[]){
Taxista tax1 = new Taxista();tax1.setNombre("Luis");
tax1.setEdad(50);
System.out.println( tax1.getNombre());
System.out.println(tax1.getEdad());
}
}

Ahora intentemos usar el constructor que existía en la clase Personaque recibia el nombre de la persona y vamos a usarlo para la clase Taxista. Para ello construyamos la clase ArranqueTaxista2.java:
public class ArranqueTaxista2 {
public static void main (Stringarg[]){
Taxista tax1 = new Taxista("Jose");
tax1.setEdad(50);
System.out.println( tax1.getNombre());
System.out.println(tax1.getEdad());
System.out.println(tax1.getNLicencia());
}
}

Se generaun error de compilación, debido a que los constructores no se heredan, sino que hay que definir nuestros propios constructores. Agreguemos en la clase Taxista los siguientes constructores:
publicTaxista(int licencia)
{
super();
nLicencia = licencia;
}
public Taxista(String nombre,int licencia)
{
super(nombre);
nLicencia = licencia;
}
Ahora si podremos compilar y ejecutar la clase...
tracking img