zoukankan      html  css  js  c++  java
  • BankAccounts.cs

    using System;
    using Wrox.ProCSharp;
    using Wrox.ProCSharp.VenusBank;
    using Wrox.ProCSharp.JupiterBank;
    namespace Wrox.ProCSharp
    {
       class MainEntryPoint
       {
          static void Main()
          {
             IBankAccount venusAccount = new SaverAccount();
             IBankAccount jupiterAccount = new GoldAccount();
             venusAccount.PayIn(200);
             venusAccount.Withdraw(100);
             Console.WriteLine(venusAccount.ToString());
             jupiterAccount.PayIn(500);
             jupiterAccount.Withdraw(600);
             jupiterAccount.Withdraw(100);
             Console.WriteLine(jupiterAccount.ToString());
          }
       }
    }


    namespace Wrox.ProCSharp
    {
       public interface IBankAccount
       {
          void PayIn(decimal amount);
          bool Withdraw(decimal amount);
          decimal Balance
          {
             get;
          }
       }
    }

    namespace Wrox.ProCSharp.VenusBank
    {
       public class SaverAccount : IBankAccount
       {
          private decimal balance;
          public void PayIn(decimal amount)
          {
             balance += amount;
          }
          public bool Withdraw(decimal amount)
          {
             if (balance >= amount)
             {
                balance -= amount;
                return true;
             }
             Console.WriteLine("Withdrawal attempt failed.");
             return false;
          }
          public decimal Balance
          {
             get
             {
                return balance;
             }
          }
          public override string ToString()
          {
             return String.Format("Venus Bank Saver: Balance = {0,6:C}", balance);
          }
       }
    }

    namespace Wrox.ProCSharp.JupiterBank
    {
       public class GoldAccount : IBankAccount
       {
          private decimal balance;
          public void PayIn(decimal amount)
          {
             balance += amount;
          }
          public bool Withdraw(decimal amount)
          {
             if (balance >= amount)
             {
                balance -= amount;
                return true;
             }
             Console.WriteLine("Withdrawal attempt failed.");
             return false;
          }
          public decimal Balance
          {
             get
             {
                return balance;
             }
          }
          public override string ToString()
          {
             return String.Format("Jupiter Bank Saver: Balance = {0,6:C}", balance);
          }
            }
     
    }
  • 相关阅读:
    百度翻译
    MailKit帮助类
    Ext.net 3.1学习
    求助 页面布局哪里错了
    jQuery 实现图片动画代码
    CSS图片水平垂直居中
    纯CSS选项卡
    百度纯CSS生成菜单
    KVM虚拟机配置
    快速部署Apache服务静态网站
  • 原文地址:https://www.cnblogs.com/shihao/p/2490247.html
Copyright © 2011-2022 走看看