clase - herencia

10
Sistemas II Herencia Rubén Francisco Manrique COD:180056

Upload: jaime-alberto-alonso-lopez

Post on 21-Dec-2015

212 views

Category:

Documents


0 download

DESCRIPTION

LOL

TRANSCRIPT

Page 1: Clase - Herencia

Sistemas II Herencia

Rubén Francisco Manrique

COD:180056

Page 2: Clase - Herencia

Herencia

• Es una forma de reutilización de software en la que se

crea una nueva clase absorbiendo los miembros de una

clase existente, y se mejoran con nuevas capacidades,

o con modificaciones en las capacidades ya existentes.

• Con la herencia, los programadores ahorran tiempo

durante el desarrollo, al reutilizar software probado y

depurado de alta calidad.

Sistemas II: Rubén Francisco Manrique 2

Page 3: Clase - Herencia

Herencia

• Al crear una clase, en vez de declarar miembros

completamente nuevos, el programador puede designar

que la nueva clase herede los miembros de una clase

existente. Esta clase existente se conoce como

superclase, y la nueva clase se conoce como

subclase.

• Una subclase generalmente agrega sus propios campos

y métodos. Por lo tanto, una subclase es más específica

que su superclase y representa a un grupo más

especializado de objetos.

Sistemas II: Rubén Francisco Manrique 3

Page 4: Clase - Herencia

Superclases y subclases

• Relación “es un”:

– En la geometría un rectángulo es un cuadrilátero.

– En Java puede decirse que la clase Rectangulo hereda

de la clase Cuadrilatero.

– En este contexto, la clase Cuadrilátero es una

superclase, y la clase Rectángulo es una subclase.

Sistemas II: Rubén Francisco Manrique 4

Page 5: Clase - Herencia

Superclases y subclases

Sistemas II: Rubén Francisco Manrique 5

Page 6: Clase - Herencia

Jerarquía de Herencia

Sistemas II: Rubén Francisco Manrique 6

Page 7: Clase - Herencia

Problema con la herencia

• A pesar de que un método de superclase sea apropiado

para una subclase, a menudo esa subclase requiere una

versión personalizada del método.

• En dichos casos, la subclase puede sobrescribir

(redefinir) el método de la superclase con una

implementación apropiada.

Sistemas II: Rubén Francisco Manrique 7

Page 8: Clase - Herencia

Miembros protected

• Los miembros public de una clase son accesibles en

cualquier parte en donde el programa tenga una

referencia a un objeto de esa clase.

• Los miembros private de una clase son accesibles sólo

dentro de la misma clase. Los miembros private de una

superclase no son heredados por sus subclases.

• El uso del acceso protected ofrece un nivel intermedio

de acceso entre public y private.

• Los miembros protected de una superclase pueden ser

utilizados por los miembros de esa superclase, por los

miembros de sus subclases.

Sistemas II: Rubén Francisco Manrique 8

Page 9: Clase - Herencia

Ejemplo

• En una compañía, a los empleados por comisión (que se

representarán como objetos de una superclase) se les

paga un porcentaje de sus ventas, mientras que los

empleados por comisión con salario base (que se

representarán como objetos de una subclase) reciben

un salario base, más un porcentaje de sus ventas.

Sistemas II: Rubén Francisco Manrique 9

Page 10: Clase - Herencia

Taller

• Implemente las clases

especificadas en el diagrama

de clases usando herencia.

• Escriba un programa de

prueba (TEST).

• Nota: Tenga en cuenta que

existen dos constructores.

Sistemas II: Rubén Francisco Manrique 10