前言:这是一篇介绍关于接口使用的随笔,你要问我接口是何物,那请你亲自查一下,这里只是介绍了简单有趣的例子,为了让你更快的接受接口的概念。
正文:这个例子建立在银行账户的基础上,这个接口包含一个存款和取款的方法,以及一个返回余额的属性。为了简单,我把这个接口和待会儿测试的两个银行类放在了一个项目里,在实际中,银行类应该放在不同银行的不同机器里,这就涉及到remoting技术,这里暂不讨论。下面我们就开始吧!
1、创建工程:c# 控制台应用程序,名字我们叫做ITest;然后项工程中添加一个接口类:IBankAccount代码如下:
IBankAccount
using System;
using System.Collections.Generic;
using System.Text;
namespace ITest
{
interface IBankAccount
{
void PayIn(decimal amount);//存入金额
bool WithDraw(decimal amount);//取出金额
decimal Balance//剩余金额
{
get;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace ITest
{
interface IBankAccount
{
void PayIn(decimal amount);//存入金额
bool WithDraw(decimal amount);//取出金额
decimal Balance//剩余金额
{
get;
}
}
}
然后,我们就可以开始为不同的银行编写不同的类了,下面是银行1的类Bank1:代码很简单,我就不做注释了
Bank1
namespace ITest
{
class Bank1:IBankAccount
{
private decimal balance;
public void PayIn(decimal amount)
{
balance += amount;
}
public bool WithDraw(decimal amount)
{
if (balance >= amount)
{
balance -= amount;
return true;
}
else
{
Console.WriteLine("Bank1余额不足");
return false;
}
}
public decimal Balance
{
get
{
return balance;
}
}
public override string ToString()
{
return string.Format("Bank1储户的余额为:{0}", balance);
}
}
}
namespace ITest
{
class Bank1:IBankAccount
{
private decimal balance;
public void PayIn(decimal amount)
{
balance += amount;
}
public bool WithDraw(decimal amount)
{
if (balance >= amount)
{
balance -= amount;
return true;
}
else
{
Console.WriteLine("Bank1余额不足");
return false;
}
}
public decimal Balance
{
get
{
return balance;
}
}
public override string ToString()
{
return string.Format("Bank1储户的余额为:{0}", balance);
}
}
}
然后添加银行2的类,代码同上,只是细节地方改一下把Bank1改称Bank2即可。
2、最后在主要代码中,使用接口和类:
Program.cs
namespace ITest
{
class Program
{
static void Main(string[] args)
{
IBankAccount bankone = new Bank1();
IBankAccount banktwo = new Bank2();
bankone.PayIn(200);//往bank1里存入200
bankone.WithDraw(50);//从bank1里提取50
Console.WriteLine(bankone.ToString());//输出余额
banktwo.PayIn(300);
banktwo.WithDraw(305);
Console.WriteLine(banktwo.ToString());
Console.ReadKey();
}
}
}
namespace ITest
{
class Program
{
static void Main(string[] args)
{
IBankAccount bankone = new Bank1();
IBankAccount banktwo = new Bank2();
bankone.PayIn(200);//往bank1里存入200
bankone.WithDraw(50);//从bank1里提取50
Console.WriteLine(bankone.ToString());//输出余额
banktwo.PayIn(300);
banktwo.WithDraw(305);
Console.WriteLine(banktwo.ToString());
Console.ReadKey();
}
}
}
至此,整个接口就完成了,你只需调适即可。效果如下:
计算机在交流中得到发展,所以有了互联网。技术在交流中成长,所以有了cnblog!请不要吝啬自己的才华,尽情的与我们分享吧!