ITransaksi.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Chapter3
{
interface ITransaksi
{
void Setor(int jumlah);
void Tarik(int jumlah);
}
}
IIdentitas.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Chapter3
{
interface IIdentitas
{
int Id { get; set; }
string Password { get; set; }
int Saldo { get; set; }
}
}
AkunPremium.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Chapter3
{
public class AkunPremium : Akun
{
public AkunPremium(int id,int saldo, string password) : base(id,saldo,password)
{
Id = id;
Password = password;
Saldo = saldo;
}
public new int Saldo
{
get
{
return _saldo;
}
set
{
if (value < 0)
throw new InvalidOperationException("Saldo tidak bisa kurang dari 0 rupiah");
else
_saldo = value;
}
}
public override void Setor(int jumlah)
{
Saldo += jumlah+500;
}
public override void Tarik(int jumlah)
{
Saldo -= jumlah+500;
}
}
}
Akun.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Chapter3
{
public class Akun:IIdentitas,ITransaksi
{
private const int maxSaldo = 2000000;
protected int _saldo;
protected string password;
public int Id { get; set; }
public string Password { get { return password; }
set { if (value.Length > 8)
{
password = value;
}
else
{
throw new InvalidOperationException("Password harus lebih dari 8 karakter");
}
}
}
public int Saldo
{
get
{
return _saldo;
}
set
{
if (value < 0)
throw new InvalidOperationException("Saldo tidak bisa kurang dari 0 rupiah");
else if (value > maxSaldo)
throw new InvalidOperationException("Saldo tidak boleh melebihi 2000000 rupiah");
else
_saldo = value;
}
}
public Akun(int id,int saldo, string password)
{
Id = id;
_saldo = saldo;
Password = password;
}
public virtual void Setor(int jumlah)
{
Saldo += jumlah;
}
public virtual void Tarik(int jumlah)
{
Saldo -= jumlah;
}
public bool PasswordTervalidasi(string password)
{
if (this.password == password)
return true;
else
return false;
}
}
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}