Herencia

Páginas: 8 (1762 palabras) Publicado: 14 de noviembre de 2012
Herencia
M.C. Mario Alberto Gómez Rodríguez

Herencia Mecanismo para extender las propiedades y comportamientos (campos y métodos) de otras clases  Creación de nuevas clases a partir de otras ya existentes  Clase heredera = clase extendida o derivada  Herencia simple  Composición: utlizar objetos dentro de otros objetos  Herencia ≠ Composición


menor detalle jerarquía de clasesmayor detalle

Herencia Superclase (Java) o Clase base (C++)  Subclase (Java) o Clase derivada (C++)  Java  Superclase (superclase directa)  Subclase (subclase directa)  Superclase indirecta  Subclase indirecta  Herencia simple: Una clase se deriva “sólo” de una superclase (Java).  Herencia múltiple: Una clase se deriva de “más de una” superclase directa (C++).


HerenciaSuperclase (Java) o Clase base (C++)  Subclase (Java) o Clase derivada (C++)  Java  Superclase (superclase directa)  Subclase (subclase directa)  Superclase indirecta  Subclase indirecta  Herencia simple: Una clase se deriva “sólo” de una superclase (Java).  Herencia múltiple: Una clase se deriva de “más de una” superclase directa (C++).


clase Padre campo primero; campo segundo; campotercero; método haceAlgoUno(){...} método haceAlgoDos(){...} método haceAlgoTres(){...}

clase PrimerHijo campo primero; campo segundo; campo tercero; campo adicionalPrimerHijoUno; campo adicionalPrimerHijoDos; método haceAlgoUno(){...} método haceAlgoDos(){...} método haceAlgoTres(){...} método asignacionPrimerHijo(){...} método destruccionPrimerHijo(){...}

clase SegundoHijo campo primero;campo segundo; campo tercero; campo adicionalSegundoHijoUno; campo adicionalSegundoHijoDos; método haceAlgoUno(){...} método haceAlgoDos(){...} método haceAlgoTres(){...} método inicializacionSegundoHijo(){...} método impresionSegundoHijo(){...} método calculoSegundoHijo(){...} método toStringSegundoHijo(){...}

clase SegundoHijo campo primero; campo segundo; campo tercero; campoadicionalSegundoHijoUno; campo adicionalSegundoHijoDos; método haceAlgoUno(){...} método haceAlgoDos(){...} método haceAlgoTres(){...} método inicializacionSegundoHijo(){...} método impresionSegundoHijo(){...} método calculoSegundoHijo(){...} método toStringSegundoHijo(){...} clase ExtensionSegundoHijo campo primero; campo segundo; campo tercero; campo adicionalSegundoHijoUno; campo adicionalSegundoHijoDos;método haceAlgoUno(){...} método haceAlgoDos(){...} método haceAlgoTres(){...} método inicializacionSegundoHijo(){...} método impresionSegundoHijo(){...} método calculoSegundoHijo(){...} método toStringSegundoHijo{...} método completarSegundoHijo(){...} método obtenerSegundoHijo(){...} método dividirSegundoHijo(){...}

public class Empleado { String nombre; int sueldo; public Empleado(Stringnombre, int sueldo) { this.nombre = nombre; this.sueldo = sueldo; } public void aumentarSueldo(int porcentaje) { sueldo += (int)(sueldo * porcentaje / 100); } public String toString() { return "Nombre: " + nombre + " Sueldo: " + sueldo; } } **************************************** public class Ejecutivo extends Empleado { int presupuesto; public Ejecutivo(String nombre, int sueldo) {super(nombre, sueldo); } void asignarPresupuesto(int p) { presupuesto = p; } }

casting

Ejecutivo jefe = new Ejecutivo( "Juan Perez", 1000); jefe.asignarPresupuesto(1500); jefe.aumentarSueldo(5); ************************************** Empleado elMasRapido = new Empleado ( "Speedy Gonzalez" , 100) ; elMasRapido.asignarPresupuesto(5000); // error ************************************** jefe.clone();jefe.toString(); ************************************** elMasRapido.clone(); elMasRapido.toString();
Object Empleado Ejecutivo

Redefinición de métodos • mismos nombres pero con diferente comportamiento
class Object { ... ... ...   public String toString(){ ... } ... ... ... } class Empleado { ... ... ...   public String toString(){  return "Nombre: " + nombre + " Sueldo: " + sueldo;   } }...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Herencia
  • la herencia
  • la herencia
  • Herencia
  • Herencia
  • Herencia
  • Herencias
  • la herencia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS