利用C#中介面的繼承去模擬銀行的轉帳交易
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace bankMoni
{
public interface IBankAccount
{
void payIn(decimal amount);
bool withdraw(decimal amount);
decimal Balance { get; }
}
public interface ITransferBankAccount : IBankAccount
{
bool transferTo(IBankAccount des, decimal amount);
}
public class CurrentAccount : ITransferBankAccount
{
private decimal balance;
public void payIn(decimal amount)
{
balance += amount;
}
public bool withdraw(decimal amount)
{
if (balance > amount)
{
balance -= amount;
return true;
}
Console.WriteLine("餘額不足,請重試!");
return false;
}
public decimal Balance {
get { return balance; }
}
public bool transferTo(IBankAccount des, decimal amount)
{
bool result;
if ((result = withdraw(amount)) == true)
des.payIn(amount);
return result;
}
public override string ToString()
{
return String.Format("bank account, balance={0,6:C}",balance);
}
}
class Program
{
static void Main(string[] args)
{
IBankAccount bankacc = new CurrentAccount();
ITransferBankAccount transbankacc = new CurrentAccount();
bankacc.payIn(500);
transbankacc.payIn(200);
transbankacc.transferTo(bankacc,100);
Console.WriteLine(bankacc.ToString());
Console.WriteLine(transbankacc.ToString());
Console.ReadLine();
}
}
}
相關文章
- C#中介面的繼承C#繼承
- PHP模擬多繼承的方式:traitsPHP繼承AI
- 虛擬繼承的意義 (轉)繼承
- 關於物件繼承的問題——利用空物件做中介物件繼承
- C#虛基類繼承與介面的區別C#繼承
- 類的繼承,介面的使用繼承
- 【c#】繼承C#繼承
- C# 繼承C#繼承
- c#繼承comC#繼承
- Java中介面與繼承的區別Java繼承
- C#中的繼承(一)C#繼承
- C#中的繼承(二)C#繼承
- C#中類的繼承C#繼承
- 子承父業-C#繼承C#繼承
- 利用模板實現動態的繼承體系 (轉)繼承
- 瞭解下C# 繼承C#繼承
- JavaScript的繼承-轉載JavaScript繼承
- c#屬性之繼承C#繼承
- Thinking in Java---多執行緒模擬:銀行出納員模擬+飯店模擬+汽車裝配工廠模擬ThinkingJava執行緒
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- 繼承與介面 (轉)繼承
- C#如何實現多重繼承C#繼承
- C#建構函式繼承C#函式繼承
- java 繼承的基礎(轉)Java繼承
- C#中繼承和多型的研究C#中繼繼承多型
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- 模擬銀行排隊時間—4佇列佇列
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- C#快速入門教程(15)—— 繼承C#繼承
- C#實驗7 類和繼承C#繼承
- C# OOP:繼承,介面和抽象類C#OOP繼承抽象
- C#類繼承自泛型集合C#繼承泛型
- 白馬非馬----繼承 (轉)繼承
- 模擬利用MV進行資料遷移
- Java基礎10 介面的繼承與抽象類Java繼承抽象
- 中國工商銀行利用區塊鏈技術實現更快的資產交易區塊鏈