Herencia Java

Páginas: 8 (1921 palabras) Publicado: 18 de septiembre de 2014
Estructura de las Aplicaciones Orientadas a Objetos

Herencia de clases

Programación Orientada a Objetos
Facultad de Informática

Juan Pavón Mestras
Dep. Ingeniería del Software e Inteligencia Artificial
Universidad Complutense Madrid

Basado en el curso Objects First with Java - A Practical Introduction
using BlueJ, © David J. Barnes, Michael Kölling

Conceptos


Herencia declases



Subtipos
Sustitución
Polimorfismo: variables polimórficas



Construcciones del lenguaje Java:










extends
super
enmascaramiento (casting)
la clase Object
clases envoltorio (wrappers) de tipos primitivos

Juan Pavón Mestras
Facultad de Informática UCM, 2007-08

Programación Orientada a Objetos

2

El ejemplo DoME


DoME: "Database ofMultimedia Entertainment"



Aplicación que permite guardar información sobre discos
de música (CD) y películas (DVD)


CD: title, artist, # tracks, playing time, got-it, comment
DVD: title, director, playing time, got-it, comment



Y permite buscar información y sacar listados





Proyecto en chapter08/dome-v1 y dome-v2

Juan Pavón Mestras
Facultad de Informática UCM,2007-08

Programación Orientada a Objetos

3

Programación Orientada a Objetos

4

Los objetos de DoME

Juan Pavón Mestras
Facultad de Informática UCM, 2007-08

Las clases de DoME

campos

métodos

Juan Pavón Mestras
Facultad de Informática UCM, 2007-08

Programación Orientada a Objetos

5

Modelo de objetos de DoME

Juan Pavón Mestras
Facultad de Informática UCM,2007-08

Programación Orientada a Objetos

6

Modelo de clases de DoME

Juan Pavón Mestras
Facultad de Informática UCM, 2007-08

Programación Orientada a Objetos

7

Código fuente de la clase de los CD
public class CD
{
private String title;
private String artist;
private String comment;
CD(String theTitle, String theArtist)
{
title = theTitle;
artist = theArtist;
comment= " ";
}
void setComment(String newComment)
{ ... }
String getComment()
{ ... }
void print()
{ ... }
...
}
Juan Pavón Mestras
Facultad de Informática UCM, 2007-08

Programación Orientada a Objetos

8

Código fuente de la clase de los DVD
public class DVD
{
private String title;
private String director;
private String comment;
DVD(String theTitle, String theDirector)
{title = theTitle;
director = theDirector;
comment = " ";
}
void setComment(String newComment)
{ ... }
String getComment()
{ ... }
void print()
{ ... }
...
}
Juan Pavón Mestras
Facultad de Informática UCM, 2007-08

Programación Orientada a Objetos

9

Código fuente de la clase de la base de datos
class Database {
private ArrayList cds;
private ArrayList dvds;
...
public voidlist()
{
for(CD cd : cds) {
cd.print();
System.out.println();
}
for(DVD dvd : dvds) {
dvd.print();
System.out.println();
}

// empty line between items

// empty line between items

}
}

Juan Pavón Mestras
Facultad de Informática UCM, 2007-08

Programación Orientada a Objetos

10

Crítica de la v1 de DoME


Duplicación de código



Las clases CD y DVD son muyparecidas (casi idénticas)
Esto hace el mantenimiento difícil y más trabajoso
Riesgo de errores con un mantenimiento inadecuado



También hay duplicación de código en la clase Database




Juan Pavón Mestras
Facultad de Informática UCM, 2007-08

Programación Orientada a Objetos

11

Programación Orientada a Objetos

12

Uso de la herencia

Juan Pavón Mestras
Facultad deInformática UCM, 2007-08

Uso de la herencia






Se define una superclase : Item
Se definen subclases para Video y CD
La superclase define atributos comunes
Las subclases heredan los atributos de la superclase
Las subclases pueden tener sus propios atributos

Juan Pavón Mestras
Facultad de Informática UCM, 2007-08

Programación Orientada a Objetos

13

Jerarquías de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Herencia java
  • Herencia Java
  • Java- herencias
  • Ejemplo de Herencia en Java
  • Java II Herencia
  • Herencia Lenguaje Java
  • POO Herencia En Java
  • Herencia con array en Java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS