Blublu

Solo disponible en BuenasTareas
  • Páginas : 9 (2222 palabras )
  • Descarga(s) : 4
  • Publicado : 30 de mayo de 2010
Leer documento completo
Vista previa del texto
Herencia

Objetivos
Aprender sobre la Herencia Entender cómo heredar y anular métodos de la superclase Ser capaz de invocar a los constructores de la subclase Entender la superclase común Object y anular sus métodos toString y equals

Una introducción a la Herencia
Herencia: extiende las clases agregando métodos y campos (atributos). Ejemplo: Cuenta de ahorro = Cuenta bancaria conintereses.
Public class SavingsAccount : BankAccount { nuevos métodos nuevas variables de atributos }

Continued…

Una introducción a la Herencia
SavingsAccount automáticamente hereda todos los métodos y variables de atributos de BankAccount
SavingsAccount collegeFund = new SavingsAccount(10); // Cuenta de ahorros con 10% de intereses. collegeFund.Deposit(500); // OK utilizar métodos deBankAccount con // el objeto SavingsAccount

Clase extendida = superclase (BankAccount), clase que se obtiene de la extensión = subclase (Savings)
Continued…

Un Diagrama de Herencia
Cada clase extiende la clase Object directa o indirectamente

Una introducción a la Herencia
En la subclase, se especifican las variables de instancia añadidas, los métodos agregados y los métodos modificados oanulados.
public class SavingsAccount : BankAccount { public SavingsAccount(double rate) { interestRate = rate; } public void AddInterest() { double interest = Balance * interestRate / 100; Deposit(interest); } private double interestRate; }

Una introducción a la Herencia
Encapsulamiento: AddInterest utiliza la propiedad Balance en lugar de actualizar el atributo balance de la superclase (elatributo es private) ) Nótese que AddInterest utiliza a Balance sin especificar un parámetro implícito (la llamada se aplica al mismo objeto)

Distribución de un objeto Subclase
El objeto SavingsAccount hereda el campo miembro balance de BankAccount, y agrega un campo miembro adicional: interestRate:

Sintaxis de la Herencia
class Nombre_Subclase : Nombre_Superclase { métodos agregadosvariables de atributo agregados }

Sintaxis de la Herencia
Ejemplo: public class SavingsAccount : BankAccount { public SavingsAccount(double rate) { interestRate = rate; } public void AddInterest() { double interest = getBalance() * interestRate / 100; deposit(interest); } private double interestRate; } Propósito: Definir una nueva clase que hereda de una clase existente y define los Métodos yvariables de atributo que se añaden en la nueva clase.

Jerarquías de Herencia
Conjuntos de clases que forman complejas jerarquías de herencia. Example:

Una parte de la jerarquía de los antiguos reptiles

Jerarquías de herencia

Ejemplo de jerarquía de herencia: la jerarquía de Swing

Una parte de la Jerarquía de los Componentes de Interfaz de Usuario de Swing

Una jerarquía de clasesmás simple: a jerarquía de cuentas bancarias
Considere un banco que ofrece a sus clientes los siguientes tipos de cuentas:
Cuenta de cheques: no produce intereses; número pequeño de transacciones por mes, las transacciones adicionales tienen un pequeño cargo. Cuenta de ahorros: gana intereses mensuales.

Una jerarquía de clases más simple: a jerarquía de cuentas bancarias
• Jerarquía deHerencia:

Jerarquía de herencia para las clases de cuenta bancaria.

Una jerarquía de clases más simple: a jerarquía de cuentas bancarias
Todas las cuentas del banco soportan el método GetBalance. Todas las cuentas del banco soportan los métodos Deposit y Withdraw, pero con implementaciones diferentes. La cuenta de cheques requiere un método DeductFees; la cuenta de ahorros necesita un métodoAddInterest

Heredando Métodos
Anulación de método:
Proporciona una implementación diferente de un método que existe en la superclases. Deben tener la misma firma (igual nombre y tipos de los parámetros). Si un método se aplica a un objeto del tipo de la subclase, se ejecuta el método que está anulando.

Herencia de método:
No proporciona una nueva implementación de un método que existe...
tracking img