• C#


    代码:

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Threading.Tasks;
      6 
      7 namespace 接口
      8 {
      9     /// <summary>
     10     /// 接口:定义一个统一的标准
     11     /// 声明接口,接口中,只包含成员的生命,不包含任何的代码实现。
     12     /// 接口成员总是公有的,不添加也不需要添加public,也不能声明虚方法和虚静态方法
     13     /// </summary>
     14     interface IBankAccount
     15     {
     16         //方法
     17         void PayIn(decimal amount);
     18 
     19         //方法
     20         bool WithShowMyself(decimal amount);
     21 
     22         //属性
     23         decimal Balance { get; }
     24     }
     25 
     26     /// <summary>
     27     /// 继承自IBankAccount的接口
     28     /// </summary>
     29     interface ITransferBankAccount : IBankAccount
     30     {
     31         //转账          :转入的目的地             :转入金额
     32         bool TransferTo(IBankAccount destination, decimal amount);
     33     }
     34 
     35     class SaveAcount : IBankAccount
     36     {
     37         //私有变量
     38         private decimal banlance;
     39 
     40         //存款
     41         public void PayIn(decimal amount)
     42         {
     43             banlance += amount;
     44         }
     45 
     46         //取款
     47         public bool WithShowMyself(decimal amount)
     48         {
     49             if (banlance >= amount)
     50             {
     51                 banlance -= amount;
     52                 return true;
     53             }
     54             else
     55             {
     56                 Console.WriteLine("余额不足!");
     57                 return false;
     58             }
     59         }
     60 
     61         //账户余额
     62         public decimal Balance
     63         {
     64             get
     65             {
     66                 return banlance;
     67             }
     68         }
     69     }
     70 
     71     //实现接口的类的相应成员必须添加public修饰
     72     class ITransferAccount : ITransferBankAccount
     73     {
     74         //私有变量
     75         private decimal banlance;
     76 
     77         //存款
     78         public void PayIn(decimal amount)
     79         {
     80             banlance += amount;
     81         }
     82 
     83         //取款
     84         public bool WithShowMyself(decimal amount)
     85         {
     86             if (banlance >= amount)
     87             {
     88                 banlance -= amount;
     89                 return true;
     90             }
     91             else
     92             {
     93                 Console.WriteLine("余额不足!");
     94                 return false;
     95             }
     96         }
     97 
     98         //账户余额
     99         public decimal Balance
    100         {
    101             get
    102             {
    103                 return banlance;
    104             }
    105         }
    106 
    107         //转账
    108         public bool TransferTo(IBankAccount destination, decimal amount)
    109         {
    110             bool result = WithShowMyself(amount);
    111 
    112             if (result == true)
    113             {
    114                 destination.PayIn(amount);
    115             }
    116 
    117             return result;
    118         }
    119     }
    120 
    121 
    122     class Program
    123     {
    124         static void Main(string[] args)
    125         {
    126             IBankAccount MyAccount = new SaveAcount();
    127 
    128             ITransferAccount YourAccount = new ITransferAccount();
    129 
    130             MyAccount.PayIn(10000);
    131 
    132             YourAccount.PayIn(30000);
    133 
    134             YourAccount.TransferTo(MyAccount, 5000);
    135 
    136             Console.WriteLine(MyAccount.Balance);//15000
    137             Console.WriteLine();
    138             Console.WriteLine(YourAccount.Balance);//25000
    139 
    140             Console.ReadKey();
    141         }
    142     }
    143 }
  • 相关阅读:
    MySQL在DOS界面对database和table增删改查
    js中获取css样式的两种方式
    js for循环中点击事件中无法获取每一个i值的问题
    ps快捷键
    一个简单的动态页面(我的第一个博客)
    Centos7 搭建 hadoop3.1.1 集群教程
    CSS rem与em的运用
    JS进制转换总结
    使用JS生成字符视频/画
    破解字体加密
  • 原文地址:https://www.cnblogs.com/KTblog/p/4525837.html
Copyright © 2020-2023  润新知