Está en la página 1de 4

UNICARIBE

Alexander Antonio Cabrera Ledesma


Mat: 2016-1346
ID A00058760

Unidad 4. Actividad 2. Polimorfismo / Herencia.


En esta actividad crearás una jerarquía de herencia de clases, la cual puede ser usada por un
banco para representar las cuentas bancarias de un cliente. Realiza los pasos siguientes:
1. Crear una clase base Cuenta
2. Crear dos clases derivadas de la clase Cuenta: a. Cuenta Ahorro b. Cuenta Corriente
3. La clase base debe tener una variable de instancia privada de tipo decimal que representará el
balance de la cuenta.
4. La clase base debe proveer un constructor que recibe un monto para el balance inicial de la
cuenta. Valide que el balance inicial sea igual o mayor a 0.
5. Crear un método público llamado Crédito que incremente el balance.
6. Crear un método publico llamado débito que des incremente el balance, debe validar que no
exceda el balance de la cuenta.
7. Crear un método que devuelva el balance actual de la cuenta.
8. La clase derivada Cuenta Ahorro, debe heredar toda la funcionalidad de la clase base e incluir
una variable de instancia tipo decimal, la cual indicaré la tasa de interés asignada a la cuenta.
9. El constructor de esta clase, debe recibir el balance inicial de la cuenta y la tasa de interés.
10. Crear un método para mostrar el interés ganado por la cuenta.
11. La clase Cuenta Corriente al igual que la Cuenta Ahorro, hereda de la clase Cuenta y además
debe incluir una variable de instancia para llevar el cargo por transacción. El constructor debe
recibir el balance inicial y un parámetro indicando el monto por transacción.
12. Esta clase debe modificar los métodos crédito y débito heredado de la cuenta base
incorporando la sustracción del cargo por transacción del balance.
13. Sólo se debe cargar el monto por transacción en el método Débito, si realmente se ha podido
retirar el dinero – No excede el balance. Luego de crear esta jerarquía de clases, desarrolle un
programa, creen un objeto de cada clase y muestre su funcionamiento.
DESARROLLO
using System;
namespace CuentaBancaria
{

class Program
{
static void Main(string[] args)
{

cuentaAhorro ahorro = new cuentaAhorro(2000, 0.06M);

Console.WriteLine("El interes ganado por su cuenta de ahorro es: {0}", ahorro.interesGanado());


Console.WriteLine("El balance de su cuenta de ahorro es: {0}", ahorro.consultarBalance() +
ahorro.interesGanado()); cuentaCorriente corriente = new cuentaCorriente(2000,250); corriente.
Debito(500);
Console.WriteLine("El balance de su cuenta corriente
es: {0}", corriente.consultarBalance());
}
}
class cuenta
{
private decimal balance;
public cuenta(decimal balanceInicial)
{
if (balanceInicial >= 0)
{
this.balance = balanceInicial;
}
else {
Console.WriteLine("El balance inicial de su cuenta
debe ser mayor o igual a 0");
}

}
public void credito(decimal aumento)
{
this.balance += aumento;
}
public void debito(decimal decremento)
{
if (this.balance >= decremento)
{
this.balance -= decremento;
}
else
{
Console.WriteLine("Su cuenta no tiene fondos
suficientes");
}
}
public decimal consultarBalance()
{
return this.balance;
}
}
class cuentaAhorro : cuenta
{
public decimal tasa;
public cuentaAhorro(decimal balanceInicial, decimal t) :
base(balanceInicial)
{
this.tasa = t;
}
public decimal interesGanado()
{
return (consultarBalance() * this.tasa);
}
}
class cuentaCorriente : cuenta
{
public decimal cargoTransaccion;
public cuentaCorriente(decimal balanceInicial, decimal c) :
base(balanceInicial)
{
this.cargoTransaccion = c;
}
public new void credito(decimal aumento)
{
base.credito(aumento - cargoTransaccion);
}
public new void debito(decimal decremento)
{
base.debito(decremento + cargoTransaccion);
}
}
}
CAPTURAS PROGRAMA

También podría gustarte