Marco teorico segun carlos sabino

Solo disponible en BuenasTareas
  • Páginas : 7 (1502 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de febrero de 2011
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 la reutilizació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 clausula extends indicaremosel nombre 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;
}
Ventajas Los objetos pueden ser construidos a partir de otros similares. Para ello es necesario que exista una clase base y una jerarquía (relación) de clases.
* La clase derivada puede heredar código y datos de la clase base, añadiendo código o modificando lo heredado.
* Las clases que heredan propiedades de otra clase puedenservir como clase base de otras.
* Mejor modelado de la realidad
* Evita redundancias, facilitando la reutilización
En definitiva, ahorraremos código y tiempo.
Desventajas
Una gran desventaja de la herencia en Java es que no soporta herencia múltiple, ésto es, cada clase sólo puede heredar, como mucho, de un único padre. De todas formas, a través de interfaces conseguimos suplir estacarencia. No obstante, el tema de las interfaces lo dejo para otro artículo, que es otro de los aspectos de la programación orientada a objetos que merece artículo aparte
Subclases, Superclases y Herencia
En Java, como en otros lenguajes de programación orientados a objetos, las clases pueden derivar desde otras clases. La clase derivada (la clase que proviene de otra clase) se llama subclase.La clase de la que está derivada se denomina superclase.
De hecho, en Java, todas las clases deben derivar de alguna clase. Lo que nos lleva a la cuestión ¿Dónde empieza todo esto?. La clase más alta, la clase de la que todas las demás descienden, es la clase Object, definida en java.lang. Object es la raíz de la herencia de todas las clases.
Las subclases heredan el estado y elcomportamiento en forma de las variables y los métodos de su superclase. La subclase puede utilizar los ítems heredados de su superclase tal y como son, o puede modificarlos o sobreescribirlos. Por eso, según se va bajando por el árbol de la herencia, las clases se convierten en más y más especializadas.
Definición:Una subclase es una clase que desciende de otra clase. Una subclase hereda el estado y elcomportamiento de todos sus ancestros. El término superclase se refiere a la clase que es el ancestro más directo, así como a todas las clases ascendentes. |
13.1. Modificadores
Los modificadores son elementos del lenguaje que se colocan delante de la definición de variables locales, datos miembro, métodos o clases y que alteran o condicionan el significado del elemento. En capítulosanteriores se ha descrito alguno, como es el modificador static que se usa para definir datos miembros o métodos como pertenecientes a una clase, en lugar de pertenecer a una instancia. En capítulos posteriores se tratarán otros modificadores como final,abstract o synchronized. En este capítulo se presentan los modificadores de acceso, que son aquellos que permiten limitar o generalizar el acceso alos componentes de una clase o a la clase en si misma.
13.2. Modificadores de acceso
Los modificadores de acceso permiten al diseñador de una clase determinar quien accede a los datos y métodos miembros de una clase.
Los modificadores de acceso preceden a la declaración de un elemento de la clase (ya sea dato o método), de la siguiente forma:
[modificadores]    tipo_variable nombre;...
tracking img