Blublu
Páginas: 9 (2222 palabras)
Publicado: 30 de mayo de 2010
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...
Leer documento completo
Regístrate para leer el documento completo.