日期:2014-05-18  浏览次数:20702 次

接口的疑问
接口的疑问
一个初学者 眼中的接口,及简单应用!
原来接口有三部分组成:
 
1 什么样的接口:(比如USB ,声卡,耳机等等)描述接口长的样子。
2 提供接口机器对 接口传来的数据处理方式:(比如电脑对 USB 接口传来的数据 读入到 C盘文件中。) 处理代码。
3 接口外接了什么东西

大家有什么好的建议 尽管提! 谢谢!!!

C# code

// 一个USB 接口,描述接口长的样子。
public interface USB
{
    //取得上一步 从接口通过的 数据
    string GetData();
}
//一种U盘,能插入USB
public class U盘:USB
{
    protected string data;
    public U盘()
    {
        this.data = "000000"; //初始值
    }
    public string GetData()
    {
        return "U盘"+data;
    }
}
//一种 鼠标 ,能插入USB
public class 鼠标 : USB
{
    public 鼠标()
    {
        this.data = "000000"; //初始值
    }
    protected string data;
    public string GetData()
    {
        return "鼠标" + data;
    }
}
class Program
{
    static void Main(string[] args)
    {
        //现有一个 U盘
        U盘 up = new U盘();
        //现有一个鼠标
        鼠标 cb = new 鼠标();
        // 有一个USB 接口
        USB usb;
        //usb接口插入U盘时
        usb = up;
        //取得usb 接口 的数据//当然这时插入 的是 U盘
        Console.WriteLine(usb.GetData());

        //usb接口插入鼠标时
        usb = cb;
        //取得usb 接口 的数据//当然这时插入 的是 鼠标
        Console.WriteLine(usb.GetData());

        Console.ReadKey();
    }
}

◆◆◆◆◆◆◆◆◆ 接口的疑问 ◆◆◆◆◆◆◆◆◆

------解决方案--------------------
http://topic.csdn.net/u/20091023/10/cbb4b6b8-fd57-4632-938f-6dbbc076909e.html
------解决方案--------------------
这种问题我回答了很多次。

首先,要理解,你在说什么接口?

设计上的接口,和编程语言无关,比如抽象类,比如C++语言实现的COM接口。

编程语言上的interface关键字,和接口本身的概念无关。我们知道Java没有委托,所以Java中,我们可以用接口代替委托,其实C#也有类似的用法。

比如 IComparer,其实就是利用接口传递一个比较算子。
------解决方案--------------------
接口是一组规范,实现接口就是为了实现规范。
想一下,银行都必须要这些功能:开户,转帐,存款,取款。

假设由你来设计规范,你就应该在接口类中定义上述四个方法 。
无论哪个银行都必须实现上述接口,这样,每个银行都可以实现互联转帐的业务。