首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

大神都来说说 “接口” 吧,该怎么处理

2014-01-22 
大神都来说说“接口” 吧今天想了解了解 接口搜索一大把,都是概念性的想听听各位大神,自己对“接口”的理解,也

大神都来说说 “接口” 吧
今天想了解了解 接口

搜索一大把,都是概念性的

想听听各位大神,自己对“接口”的理解,也就是把自己理解的接口用通俗的方式说来听听,学习学习

为啥要用接口?什么场景适合用接口(比如可以使用其他方式时,最好有比较性的说明)? 

谢谢 呀


[解决办法]



没错啊,跟电脑机箱里的接口一样
[解决办法]


没错啊,跟电脑机箱里的接口一样
比喻和形象,就像耳机孔一样,只需要插孔大小符合,就能提供声音播放,而不要关注声音的具体处理和播放。
接口能够使系统具有更好的封装和灵活性。
比如数据操作接口,数据操作的具体实现可以是与数据库的交互(关系数据库也好,非关系数据库也好,对象数据库也罢),也可以是和xml本地文件的交互等等
[解决办法]


没错啊,跟电脑机箱里的接口一样大神都来说说  “接口” 吧,该怎么处理
[解决办法]
接口就是服务的承诺
[解决办法]
接口就是拿来规范和解耦的
[解决办法]
一个姑娘结婚对象的条件要求是有房有车,那么这个有房有车就是一个接口。接口对不上那么基本你就和姑娘无缘了,你也无法调用约会模式,只有实现了她的接口的你才能使用她的功能。明白了吗
[解决办法]
大神都来说说  “接口” 吧,该怎么处理讨论这个没啥意思,接口就是我给你提供的菜单,你只管点菜等着吃就行。。。
[解决办法]
以前举过这样的例子:
接口就是电源插座,你建房子的时候,就布下了,
你不知道这个插座后边是用来插电视还是插冰箱或者是插洗衣机,
但是插座就是,你外部购买的电器,只要插头符合标准,我就让你在房子内使用。

否则(比如插孔只有两个,你的插头是3插),不能用,这就起到防止误插(隔离)的作用。
[解决办法]
这个没啥好讨论滴,结合你这几天的问题,我们觉着你入误区了

呵呵,编程是人编程,不是名词编程。掌握在多名词,区别,差别,优点,缺点---在编程领域里用处不大
俺们可不像你搞硬件,可以说晓龙800就是比不上xxxx,可以说金士顿滴内存条就是水,专业评测根本不用金士顿

在编程领域从来不这么搞,“接口”只是俺们程序员互相交流的约定词语,并不什么品牌和技术规范
[解决办法]
接口就是一种标准,大家都套用同一个接口,就能够通用了。
比如店里的商品都贴上了条码,就都只要扫一扫就知道价格。但乡村的小店里的商品,有没有此接口都无所谓,因为没有扫描仪和电脑。

[解决办法]
这个“接口”的定义在软件开发过程中,是个很宽泛的名词。
面向接口编程:把自己的程序嵌入到其他程序中,比如我做一个小的急诊系统,需要加入到医院的HIS系统里面,就需要写接口,这样HIS系统才能“识别”调用我写的这个程序。
接口Interface:http://msdn.microsoft.com/zh-tw/library/87d83y5b.aspx
其他接口:也就是业务上面说的“接口”,就是一种规范
[解决办法]
你想拿钱,就必须插张适合ATM机这个银行卡接口大小的银行卡,不然你想取钱? 没门!
[解决办法]
引用:
你想拿钱,就必须插张适合ATM机这个银行卡接口大小的银行卡,不然你想取钱? 没门!

现在可以拿手机取钱了  - - 
[解决办法]
我没记错之前楼主问委托。。现在又问接口。。

其实这2个有一定的共同性。。

委托可以看成是定义了一个未实现的方法。。

接口可以看成是定义了一组未实现的方法。。

接口就是一组规范,比如平时家里的电插口,反正我的接口做出来是3插口的,你只要按我的规范来,我就给你供电,然后你得到电力后做你自己的事情。。就是一种规范。。

接口只是概念性的东西,可以减低实际程序的耦合度。没了接口照样可以完成功能,只不过没那么好维护和扩展。。

如果初级的开发,可以不必理会这些东西,慢慢的就会明白了。。。我当初也纠结了好久


 public interface ICooking
    {
        public void GotoCooking();
    }

    public class Hongshaoqiezi : ICooking
    {

        public void GotoCooking()
        {
            //要洗,要油炸,要调料,以及很复杂的逻辑
        }
    }

    public class Malafish : ICooking
    {

        public void GotoCooking()
        {
            //要先煮,然后再调料,然后。。。。。。
        }
    }

    public class CookingClient


    {
        public ICooking CookingClientFactory(string Menu)
        {
            if (Menu == "Hongshaoqiezi")
                return new Hongshaoqiezi();
            if (Menu == "Malafish")
                return new Malafish();
            //这里也可以通过反射,通过Menu来获取实现类的实例,
            //以后如果还有新菜品上市,我们只需要新增一个ICooking接口的实现就可以了
            return null;
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        //告诉厨房你要什么菜
        string menu = "Hongshaoqiezi";
        CookingClient client = new CookingClient();
        //厨房接收菜单
        ICooking cook = client.CookingClientFactory(menu);
        //去做菜
        cook.GotoCooking();
    }



希望你能理解。。。如果现在出了一道新菜炖羊肉,我们只需要新增一个炖羊肉的类,然后实现icooking接口。。然后再告诉(修改)厨房(CookingClientFactory),如果menu是炖羊肉,你就给我做炖羊肉。。
[解决办法]
。。。回头想想,又感觉我的例子不太恰当,没有突出接口的强制性。。

这种情况用抽象类更好。。因为还会洗菜什么的,这些都是做菜前必须的。。

但楼主你先看看,应该对你有好处。。。我也是一点一点自己慢慢爬上来的,希望能对你有帮助
[解决办法]
http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html

最后再给你一篇我个人觉得经典的文章。。

热点排行