HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase...

13
HERENCIA

Transcript of HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase...

Page 2: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

SUPER CLASE

Característica A Característica B

Característica ACaracterística A

Característica A

Característica B

Característica B

Característica B

Característica Z

Característica Y

Característica X Característica W

Clase Derivada Clase Derivada Clase Derivada

Clase Base

Page 3: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

HERENCIA• Es la capacidad para crear nuevas clases

(descendientes) que se construyen sobre otras existentes, permitiendo que èstas les transmitan sus propiedades

• En POO la reutilizaciòn de còdigo se efectùa creando una subclase que constituye una restricciòn o extensiòn de la clase base, de la cual hereda sus propiedades.

Page 4: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

TIPOS DE HERENCIA

Herencia Simple: Sólo puede tener un ascendiente, es decir una subclase puede heredar datos y métodos de una única clase así como añadir o quitar comportamientos de la clase base.

Herencia Múltiple: Es la prioridad de una clase de poder tener más de un ascendiente inmediato, o lo que es igual, adquirir datos y métodos de más de una clase.

JAVA NO SOPORTA LA HERENCIA MÚLTIPLE

Page 5: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

CONCEPTOS DE HERENCIA EN JAVA

• la clase existente se denomina superclase o padre• La clase que hereda se denomina subclase, hija

extendida o derivada• En java todas las clases utilizan herencia, ya que

todas las clases se derivan de una clase raiz denominada Object

Page 6: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

DEFINICION DE UNA SUBCLASE

-Necesita la palabra clave extends• La sintaxis :public class nombre de la clase extends clase base

Ejemplo

public class Estudiante de la clase extends Persona

Page 7: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

EN JAVA TODAS LAS CLASES UTILIZAN HERENCIA

Todas las clases se derivan de una clase raiz denominada Object aunque esta no sea especificada

Ejecute los dos programas a continuaciòn:

public class Herencia

{ public static void main(String [ ] args)

{ System.out.println(“Programa con Herencia”);}}

_______________________________________________

Import java.lang,*;

public class Herencia extends Object{ public static void main(String [ ] args)

{ System.out.println(“Programa con Herencia”);}}

Page 8: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

TIPOS DE HERENCIA

Figura

Círculo Rectángulo Triángulo

Rectánguloredondeado

Persona

Profesor

ProfesorUniversitario

Investigador

SIMPLE MÚLTIPLE

Page 9: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

SUPERCLASES Y SUBCLASES

Una clase extendida hereda todos los miembros de sus superclases, excepto los constructores y finalize.

La subclase puede utilizar estos miembros, puede ocultar las variables miembro o anular (redefinir) los métodos.

La palabra reservada this, permite hacer referencia a la propia clase, mientras que la super, se utiliza para referenciar a la superclase y poder llamar a métodos de la misma.

Page 10: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

COMÓ ESTÁ COMPUESTA UNA CLASE EXTENDIDA

Miembros de la superclase (miembros heredados).

Miembros adicionales definidos en las subclases (miembros añadidos).

Page 11: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

CUALES SON LOS MIEMBROS QUE SE HEREDAN POR UNA SUBCLASE

Los miembros declarados como public o protected.

Aquellos miembros declarados sin especificador de acceso mientras que la subclase está en el mismo paquete que la superclase.

Las subclases no heredan un miembro de la superclases si la subclase declara un miembro con el mismo nombre.

Las subclases no heredan los miembros privados de la superclases.

Page 12: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

MODIFICADORES

Modificador Significado

public Es accesible desde todas las otras clases.

protected Es accesible solamente desde el interior de la clase y sus subclases.

private Es accesible solamente desde el interior de la clase.

Page 13: HERENCIA. SUPER CLASE Característica ACaracterística B Característica A A A B B B Z Y X W Clase Derivada Clase DerivadaClase Derivada Clase Base.

MODIFICADORES

Modificador Significado

abstract Una clase no puede ser instaciada. Un método abstract debe ser anulado por una subclase.

final Indica que la clase no se puede extender: es decir que no puede ser una clase padre. Cuando se le aplica

al método, indica que el método no se puede anular o sobreescribirse. Cuando es una variable no puede modificarse

static Los campos de datos y métodos estáticos se heredan de igual modo que los no estáticos, excepto que los métodos estáticos no se puede anular.