C#--interface的规范与使用场景

特征:
1、接口是一种规范,实现多态
2、接口不能被实例化。
3、接口中的成员不能加“访问修饰符”,接口中的成员访问修饰符默认为public 
4、接口中的成员不能有任何实现,所以不能够被实例化
5、接口中只有方法、属性、索引器、事件,不能够有“字段”。
6、接口与接口之间可以继承,并且可以多继承。
7、实现接口的自雷必须实现该接口的全部成员。所以接口要遵循接口隔离原则,降低功能之间的耦合度。
8、一个类可以同时继承多个接口,如果一个类继承接口的同时,也继承了类,则先继承类,再写集成的接口。
9、当一个抽象类实现接口的时候,如果不想实现接口的成员,可以把该成员实现为abstract.
10、显示实现接口,只能用接口变量来调用,因为(显示接口后成员会变成private);
--------------------- 

//定义程序员接口

interface IProgramer

{

    //定义程序接口函数

    string LanguageCode();

}

//C/C++程序员实现

class CProgramer : IProgramer

{

    string CLanguageCode()

    {

        return "C/C++";

    }

}

//VB程序员实现

class VBProgramer : IProgramer

{

    string VBLanguageCode()

    {

        return "VB";

    }

}

//Delphi程序员实现

class DelphiPrograme : IProgramer

{

    string DelphiLanguageCode()

    {

        return "Delphi";

        //用Delphi语言写代码;

    }

}

class Programer

{

    public void LanguageCode(IProgramer programer)

    {

        //此次调用LanguageCode函数,有可能是VB,也有可能是C++

        programer.LanguageCode();

    }

}

public class main

{

    public main()

    {

        Programer pro = new Programer();

        IProgramer iprogramer;

        //如果需要用C/C++代码

        iprogramer = new CProgramer();

        pro.LanguageCode(iprogramer);

 

        //如果需要用VB代码

        iprogramer = new CProgramer();

        pro.LanguageCode(iprogramer);

 

        //如果需要用Delphi代码

        iprogramer = new CProgramer();

        pro.LanguageCode(iprogramer);

    }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值