博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

c#使用接口--帮助你更好的理解接口(转载)

Posted on 2008-10-23 22:11  codingsilence  阅读(193)  评论(0编辑  收藏  举报
 

前言:这是一篇介绍关于接口使用的随笔,你要问我接口是何物,那请你亲自查一下,这里只是介绍了简单有趣的例子,为了让你更快的接受接口的概念。

正文:这个例子建立在银行账户的基础上,这个接口包含一个存款和取款的方法,以及一个返回余额的属性。为了简单,我把这个接口和待会儿测试的两个银行类放在了一个项目里,在实际中,银行类应该放在不同银行的不同机器里,这就涉及到remoting技术,这里暂不讨论。下面我们就开始吧!

1、创建工程:c# 控制台应用程序,名字我们叫做ITest;然后项工程中添加一个接口类: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;
        }
    }
}

 

然后,我们就可以开始为不同的银行编写不同的类了,下面是银行1的类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);
        }
    }
}

 

然后添加银行2的类,代码同上,只是细节地方改一下把Bank1改称Bank2即可。

2、最后在主要代码中,使用接口和类:

 


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!请不要吝啬自己的才华,尽情的与我们分享吧!