zoukankan      html  css  js  c++  java
  • 在C#中理解接口

    本文着重阐述接口是如何工作的和它可能的应用。

    什么是接口

    接口是为类或结构定义一个蓝图,接口的定义看起来类似于一个类,但是什么也没实现
    接口定义属性,方法,事件,索引器,但是接口没有定义任何它们的实现,只是声明
    他们的存在,接口不会实际定义任何功能,只是定义了和类发生交互的方式。

    什么不是接口

    接口不应该喝继承混淆,它们是两个非常不同的事,继承会定义许多实现和代码的复用,
    接口仅仅是定义如何与其实现类发生通讯。就像签一个合同,一个类必须要实现接口制定的
    行为。

    什么时候应用接口

    接口可以允许我们为一个类如何实现创建一个好的布局,这是因为接口给我们保证,当许多
    部件用同一个接口时,它允许我们很容易的交替变换使用同一个接口的部件,动态编程就变得
    容易了。

    创建一个接口

    有很多次你会想定义你自己的接口,接口是度量软件的伟大工具,当你定义了一个接口它类似一个类

    就像你看到的,我没有实际定义任何功能。我所做的就是使用接口的类所要实现的功能,接口前缀通常
    用 I ,例如 IDisposable,IDataReader和IEnumerable。我确信大家都使用过这些,但是并不了解。
    有许多一般使用的类去实现这些接口。

    实现接口

    现在我们知道如何创建接口,我们会看到如何为一个类实现接口,我们能实现一个存在
    的或已经创建的接口

    因为我们定义了两个方法在IHelloWorlder接口中,我们要确定我们在类中也定义这两个方法。
    我们同意类实现任何接口要实现的方法。如果我们不定义,Visual Studio 会提示如下信息




    定义方法:

    public class MyHelloWorld : IHelloWorlder
    {
        
    public void SayHello()
        
    {
            Console.WriteLine(
    "Hello world!");
        }

     
        
    public void SayGoodBye()
        
    {
            Console.WriteLine(
    "Good Bye World!");
        }

    }




    使用接口
    现在我们已经有了一个实现了的接口,

    public void GreetEveryone(IHelloWorlder hw)
    {
        
    // Perform whatever logic you wish here
        hw.SayHello();
    }

     
    public void DoSomething()
    {
        MyHelloWorld helloWorld 
    = new MyHelloWorld();
        GreetEveryone(helloWorld);
    }

    如果我们要写另外一个类去实现接口,我们能改变DoSomething方法,让它使用新类,因为
    我们在GreetEveryone使用了接口,因此不必作任何改动,


  • 相关阅读:
    PHP正则表达式
    PHP日期时间处理
    好文摘录
    Unix时间戳与C# DateTime时间类型互换
    dedecms表结构分析
    css默认值汇总
    jQuery offset,position,offsetParent,scrollLeft,scrollTop html控件定位 css position
    html中label宽度设置、非替换元素和替换元素
    css position, display, float 内联元素、块级元素
    CSS技巧(一):清除浮动
  • 原文地址:https://www.cnblogs.com/flyinthesky/p/1225481.html
Copyright © 2011-2022 走看看