博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# - 接口的继承
阅读量:5150 次
发布时间:2019-06-13

本文共 3384 字,大约阅读时间需要 11 分钟。

代码:

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     ///  10     /// 接口:定义一个统一的标准 11     /// 声明接口,接口中,只包含成员的生命,不包含任何的代码实现。 12     /// 接口成员总是公有的,不添加也不需要添加public,也不能声明虚方法和虚静态方法 13     ///  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     ///  27     /// 继承自IBankAccount的接口 28     ///  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 Balance100         {101             get102             {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 Program123     {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);//15000137             Console.WriteLine();138             Console.WriteLine(YourAccount.Balance);//25000139 140             Console.ReadKey();141         }142     }143 }

 

转载于:https://www.cnblogs.com/KTblog/p/4525837.html

你可能感兴趣的文章
android自定义键盘光标不显示解决方法
查看>>
第一章 大型网站架构演化
查看>>
java基础<迷你DVD系统>
查看>>
NO.6LINUX基本命令
查看>>
Ubuntu查找通过apt命令已安装软件
查看>>
关于GC和析构函数的一个趣题
查看>>
跨域问题整理
查看>>
[Linux]文件浏览
查看>>
Sybase 存储过程中IF的用法
查看>>
EasyUI, Dialog 在框架页(ifrmae)的Top页面弹出时,拖拽Dialog边缘(以改变窗口大小),UI界面被卡死的解决办法...
查看>>
在26个大小写字母(52个),以及9个数字组成的字符列表中,随机生成10个8位密码...
查看>>
CentOS下vm虚拟机桥接联网
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>
获取国内随机IP的函数
查看>>
C/C++的64位整型
查看>>
从setContentView()谈起
查看>>
java-接口—策略模式
查看>>
架构师
查看>>
今天第一次写博客
查看>>
极光推送没你想象的那么难
查看>>