C#2005 .NET3.0高级编程学习笔记————接口

  接口

    如果一个类派生于一个接口,它就会执行某些函数。

    声明接口在语法上与声明抽象类完全相同,但不允许提供接口中任何成员的执行方式。一般情况下,接口中只能包含方法、属性、索引器和事件的声明。不能实例化接口,所以接口不能有构造函数或字段,也不允许包含运算符重载。不允许声明成员上的修饰符,成员总是公共的。

    定义和实现接口

    接口名称传统上以字母I开头。

namespace  Ling.Note.One
{
     
public interface IBankAccount
     
{
          
void PayIn(decimal amout);
          
bool Withdraw(decimal amount);
          
decimal Balance
          
{
                
get;
          }

     }

}

    下面的类实现了该接口

namespace  Ling.Note.One.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;
                      renturn 
true;
                 }

                 Console.WriteLine(
"fialed");
                 
return false;
            }

            
public decimal Balance
            
{
                
get
                 
{
                         
return  balance;
                 }

            }

             
public override string ToString()
             
{
                    
return String.Format("Venus Bank Saver:Blance = {0,6:C}", balance);
             }

       }

}

        如果派生类没有提供实现代码,编译器就会产生错误。接口仅表示其成员的存在性,类负责确定这些成员是虚拟的还是抽象的。

       接口引用完全可以看作是类引用,但接口引用可以引用任何实现该接口的类。

IBankAccout[] account  =   new  IBankAccount[ 2 ];
account[
0 =   new  SaverAccount();
...............

     派生的接

    接口可以彼此继承,其方式与类的继承相同。

namespace  Ling.Note.One
{
       
public interface ITranceferBankAccount  :  IBankAccount
       
{
             
bool TransferTo(IBankAccount  destination, decimal amout);
       }

}

          因为ITranseferBankAccount派生于IBankAccount,所以拥有IBankAccount的所有成员和她自己的成员。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值