Mama

Páginas: 5 (1118 palabras) Publicado: 26 de julio de 2012
Programación Orientada a Objetos

17/10/2011

Herencia
Programación Orientada a Objetos
Ángel García y Beltrán Unidad docente de Informática Industrial ETSII – UPM 17 de Octubre de 2011

Índice
• Herencia
– – – – Definición y declaración Modificadores de acceso Jerarquía de clases. La clase Object

• Clases finales • Métodos finales • Clases y métodos abstractos
– Definición ydeclaración – Ejemplos

17/10/2011

agarcia@etsii.upm.es

1

Programación Orientada a Objetos

17/10/2011

Herencia
• Permite la declaración de nuevas clases (descendientes) a partir de otras ya existentes descendientes) (ascendientes) ascendientes) • La clase descendiente hereda los atributos y métodos de la ascendiente • La clase descendiente puede añadir nuevos atributos y métodos yredefinir los heredados (sobre-escritura) (sobre-escritura) • Sintaxis:
modificadorAcceso class ClaseB extends ClaseA { // Declaracion de atributos y metodos // especificos de la ClaseB // y/o redeclaracion de componentes heredados }
17/10/2011

Ejemplo de herencia
public class Precio { // ** Atributos ** private double euros; euros; // ** Metodos ** public double da() { da() return euros;euros; } public void pone(double x) { pone( euros=x; euros=x; } } public class Producto extends Precio { // ** Atributos ** private int codigo; codigo; // ** Metodos ** public int daCodigo() { daCodigo() return codigo; codigo; } public void asignaCodigo(int x) { asignaCodigo( codigo=x; codigo=x; } public void asignaProducto(int cod, asignaProducto( cod, double p) { asignaCodigo(cod) asignaCodigo(cod);i C di d); pone(p); } public String toString() { toString() return "Codigo: " + codigo + Codigo: " ; precio: " + euros + " euros"; } }

Precio.java Precio java

17/10/2011

Producto.java

agarcia@etsii.upm.es

2

Programación Orientada a Objetos

17/10/2011

Ejemplo de uso de clase descendiente
/** * Demostracion de la clase Producto * A. Garcia-Beltran Garcia*/ / public classPruebaProducto { public static void main (String [] args){ args){ Producto p = new Producto(); Producto(); p.asignaProducto(200401,15.8); asignaProducto(200401,15. System.out.println( toString()); System.out.println(p.toString()); Producto q = new Producto(); Producto(); q.asignaCodigo(200402); asignaCodigo(200402) q.pone(34.3); pone(34. System.out.println( toString());System.out.println(q.toString()); } }
17/10/2011

Ejercicio propuesto (1) (1
• Construir la clase Producto descendiente de la clase Precio. Precio.
– Editar y compilar

• Construir la clase PruebaProducto para que verifique el uso de los atributos y métodos de la clase Producto. Producto.
– Editar, compilar y ejecutar

17/10/2011

agarcia@etsii.upm.es

3

Programación Orientada a Objetos

17/10/2011Modificadores de acceso
• Tanto para atributos como para métodos de clases que puedan ser ascendientes

• El modificador protected permite el acceso al miembro correspondiente a las clases derivadas y lo prohibe al resto
17/10/2011

Normas de la herencia en Java
• La subclase hereda todos los miembros (atributos y métodos) métodos) de su superclase. superclase. • Puede usarlos tal cual,reemplazarlos, esconderlos o cual, reemplazarlos, ampliarlos con nuevos miembros: miembros:
1. Atributos heredados (public o protected) se usan directamente 2. Estos atributos se pueden redefinir pero no es recomendable 3. Nuevos atributos que no estén en la superclase pueden declararse 4. Métodos heredados (public o protected) se usan directamente 5. Métodos de instancia pueden redefinirse(sobreescribiéndolos) sobreescribiéndolos) 6. En la declaración d métodos d clase se puede utilizar l 6 E l d l ió de ét d de l d tili la misma cabecera que la de la superclase (ocultándolos) ocultándolos) 7. Nuevos métodos que no estén en la superclase pueden declararse 8. El constructor de la subclase puede llamar al de la superclase de forma implícita o con super
17/10/2011

agarcia@etsii.upm.es

4...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Mama
  • Mama
  • Hay Mama
  • tu mama
  • mamá
  • mama
  • Mama
  • No Mames

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS