C#接口实例应用的的深入探讨

来源:互联网 发布:基建工程拍照软件 编辑:程序博客网 时间:2024/06/05 11:57
    C#接口实例的应用在我们实际的开发过程中是十分重要的,本文就向你介绍了一个C#接口实例,希望通过这个实例使你对C#接口实例有所了解。

     

    C#接口实例应用问题的提出,假设我们公司有两种程序员:VB程序员,指的是用VB写程序的程序员,用clsVBProgramer这个类表示;Delphi程序员指的是用Delphi写程序的程序员,用clsDelphiProgramer这个类来表示。每个类都有一个WriteCode()方法。

    C#接口实例定义如下:

    1. class clsVBProgramer()  
    2. {  
    3. ....  
    4. WriteCode()  
    5. {  
    6.      //用VB语言写代码;  
    7. }  
    8. ....  
    9. }  
    10.  
    11. class clsDelphiProgramer()  
    12. {  
    13. ....  
    14. WriteCode()  
    15. {  
    16.     //用Delphi语言写代码;  
    17. }  
    18.    ....  
    19. }  

    现在公司来了一个项目,要求派某个程序员写一个程序。

    C#接口实例

    1. class clsProject()  
    2. {  
    3. ....  
    4. WritePrograme(clsVBProgramer programer)//用VB写代码  
    5. {  
    6.     programer.WriteCode();  
    7. }  
    8. WritePrograme(clsDelphiProgramer programer)  
    9. //重载方法,用Delphi写代码  
    10. {  
    11.     programer.WriteCode();  
    12. }  
    13. ......  
    14. }  

    在主程序中我们可以这样写:

    C#接口实例:

    1. main()  
    2. {  
    3.    clsProject proj=new clsProject;  
    4.    //如果需要用VB写代码  
    5.    clsVBProgramer programer1=new clsVBProgramer;  
    6.    proj.WritePrograme(programer1);  
    7.    //如果需要用Delphi写代码  
    8.    clsDelphiProgramer programer2=new clsDelphiProgramer;  
    9.    proj.WritePrograme(programer2);  

    但是如果这时公司又来了一个C#程序员,我们怎么改这段程序,使它能够实现用C#写程序的功能呢?我们需要增加一个新类clsCSharpProgramer,同时在此clsProject这个类中要再次重载WritePrograme(clsCSharpProgramer programer)方法。这下麻烦多了。如果还有C程序员,C++程序员,JAVA程序员呢。麻烦大了!

    但是如果改用接口,就完全不一样了,首先声明一个程序员接口:

    C#接口实例:

    1. interface IProgramer()  
    2. {  
    3. WriteCode();  

    然后声明两个类,并实现IProgramer接口:

    1. class clsVBProgramer():IProgramer  
    2. {  
    3. ....  
    4. WriteCode()  
    5. {  
    6.      //用VB语言写代码;  
    7. }  
    8. ....  
    9. }  
    10.  
    11. class clsDelphiProgramer():IProgramer  
    12. {  
    13. ....  
    14. WriteCode()  
    15. {  
    16.     //用Delphi语言写代码;  
    17. }  
    18.    ....  
    19. }  
    20. 对clsProject这个类进行一下修改:  
    21. class clsProject()  
    22. {  
    23. ....  
    24. WritePrograme(IProgramer programer)  
    25. {  
    26.     programer.WriteCode();//写代码  
    27. }  
    28. ......  
    29. }  
    30.  
    31. main()  
    32. {  
    33.    clsProject proj=new clsProject;  
    34.    IProgramer programer;  
    35.    //如果需要用VB写代码  
    36.    programer=new clsVBProgramer;  
    37.    proj.WritePrograme(programer);  
    38.    //如果需要用Delphi写代码  
    39.    programer=new clsDelphiProgramer;  
    40.    proj.WritePrograme(programer);     
    41. }  

    如果再有C#,C,C++,JAVA这样的程序员添加进来的话,我们只需把它们相关的类加进来,然后在main()中稍做修改就OK了。扩充性特别好!

    另外我们如果把clsProject这个类封成一个组件,那么当我们的用户需要要扩充功能的时候,我们只需要在外部做很小的修改就能实现,可以说根本就用不着改动我们已经封好组件!是不是很方便,很强大!

    C#接口实例的应用问题深入探讨就向你介绍到这里,希望对你了解和学习C#接口实例有所帮助。