Download INTRODUCCION La clase herencia trata de dar a los programas

Document related concepts
no text concepts found
Transcript
INTRODUCCION
La clase herencia trata de dar a los programas que se crean, un objeto los cuales son instancias de clases, la
herencia constituye una manera de resolver este problema. Con la herencia podemos usar las clases existentes.
COMO USAR HERENCIA
Es una esfera para representar una esfera, una esfera tiene un radio y una posición en el espacio al mostrar una
esfera en la pantalla debe parecer como un libro al mostrar una esfera en la pantalla debe parecer como un
círculo
Import java.awt.*;
Public class Esfera {
Protected int X=100, Y=100;
Public viod setX ( int nuevaX){
X=nueveX;
}
Public viod setY ( int nuevaY){
Y=nueveY;
Public void mostrar (Graphics papel) {
Pepel.drawOvel (X, Y, 20, 20);
}
}
Cabe mencionar que hay varios elementos en este problema incluyendo la palabra clave protect ted esto se debe
a que escribimos la clase de tal forma que se pueda utilizar para herencia
HERENCIA
Cuando usamos la herencia prívate es un término demasiado privado y public es demasiado publico si una
necesita dar a sus variables o métodos específicos pero debe evitar que otras clases accedan a esta, puede
etiquetarlos como protected. En la analogía de una familia una madre permite a su hijo descendiente que use sus
claves del automóvil pero nadie más. Volviendo a la clase esfera necesitamos variables para describir las
coordenadas podrían escribir las siguientes:
prívate int x, y;
Esta es una decisión acertada pero debe haber mejor ideas para darse caso que en el futuro escribiera una clase
que heredara esta clase y proporcionara una método adicional para mover una esfera, por lo tanto para
anticiparnos a este uso en el futuro podremos mejor etiquetarla como protected
protected in x, y;
Ahora esta declarando protected a las variantes, de manera que otras clases no harán mal uso de ellas suponga
que la declaremos a x y a y prívate como lo teníamos planeado en un principio se aplica a los métodos y hubiera
sido posible utilizar la clase mediante herencia
METODO PROTECTED
Que escribimos la clase de tal manera clase de tal forma que se utilizar para la herencia. Transcurso de este
capítulo veremos lo que significa nuevos elementos.
ESCRIBIO Y PROBO ESTA CLASE
Para que la utilicen nuevo programa necesitamos una clase muy parecida a esta otra.
Ejemplo: burbuja



Clase llamada burbuja : nos permite hacer cosas adicionales:
*moverla en sentido vertical
*podemos alterar
PROTECTED:
Usamos la herencias private es un término demasiado público.
*subclase accesos a ciertas variables o método específicos, evitar que otras clase.
*puede etiquetarlos como protected
_____________________________________________________________________________________
Import java.awt.*;
Public class Barbuda extends JFrame {
Protected int radio = 10;
Public void setTamaño (int tamaño) {
Radio = tamaño;
Public void mostrar (Graphics papel){
Papel.drawOval(x, y, 2*radio, 2*radio);
}
}
_____________________________________________________________________________________
Pero debe haber una mejor idea. Este método necesitaría acceso a las variables x y y es inaccesibles ya que
etiquetaron como prívate.
SUPER
Algunas veces una clase necesita llamar a un método de superclase del novel superior en el árbol no hay
problemas con esto ya que los métodos de todas las clases en los niveles superiores del árbol de herencia están
disponibles, siempre y cuando estén etiquetados como public o protected. Para corregir este problema hay que
anteponerse al nombre de método, la palabra súper clase por ejemplo llamar al método mostrar de una súper use
lo siguiente.
super.mostrar (papel);
En general esto es más ordenado y corto que duplicar instrucciones, y nos puede ayudar a que un programa sea
más conciso al utilizar al máximo los métodos existentes.
 Si escribe una clase sin constructores, java supone que solo hay un constructor (con cero parámetros)
 Los constructores no se heredan.
Por ejemplo, suponga que tenemos una clase con uno o dos constructores
_________________________________________________________________________
Import java.awt.*;
public class Globo{
protected int X, Y, radio;
public Globo(){
X = 10;
Y = 10;
radio = 20;
}
public Globo (int Xinicia, int Yinicia,
int radioinicial){
X = Xinicial;
Y = Yinicial;
radio = radioinicial;
}
//resto de la clase//
}
_________________________________________________________________________
Método final
Los proceso de heredar y redefinir, se enfocan en cambiar el comportamiento de la clase y los objetos.
La herencia es muy poderosa, algunas cosas y los fijas y no se puedan modificar .En la POO siempre existe el
peligro de que alguien extienda. Las clase a las que están pertenecen y en consecuencia cambie lo que hace.
Para evitar esto el programador pude describir ser por error o en un intento inadvertido.
FINAL DOUBLE CMPERINCH=2.54;
_____________________________________________________________________________________
Public class globo Diferente extends Globo {
Public Globo Diferente (int xIncial, yIncial) {
Super ();
X = XIncial;
Y =YIncial;
Radio = 20;
}
//resto de la clase
_____________________________________________________________________________________
METODO ABSTRACTAS
Considera un programa que contiene formas graficas de todos tipos y tamaños:
*círculos
*rectángulo
*cuadrados
*triángulos
*/etc.
Forma de similares a las clases que ya hemos visitado en superclase llamadas: formas, que describa los datos
comunes.
_____________________________________________________________________________________
Import java.awt.*;
Public abstract class forma {
Protected int x, y;
Protected int tamaño;
Public void moverDerecha () {
X = x+10;
}
Public abstract void mostrar (Graphics papel);
}
_____________________________________________________________________________________
Herencia

Herencia
La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya
existente. La herencia permite compartir automáticamente métodos y datos entre clases, subclases y
objetos.
La herencia está fuertemente ligada a la reutilización del código en la OOP. Esto es, el código de
cualquiera de las clases puede ser utilizado sin más que crear una clase derivada de ella, o bien una
subclase.
Hay dos tipos de herencia: Herencia Simple y Herencia Múltiple. La primera indica que se pueden definir
nuevas clases solamente a partir de una clase inicial mientras que la segunda indica que se pueden
definir nuevas clases a partir de dos o más clases iniciales. Java sólo permite herencia simple.