码迷,mamicode.com
首页 > 其他好文 > 详细

接口的概念

时间:2015-07-28 17:34:21      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

什么是接口呢?在面向对象的编程中,我们都会接触到这个玩意儿,我们知道面向对象有三大特性 封装,继承,多态,相信很多人在学习多态的时候,会接触接口。接口可以用这样一句话来描述“接口就是包含一系列不被实现的方法.而把这些方法的实现交给继承它的类.” ,这句话看起来很晦涩,没关系,我们通过下面一个例子说明

我定义了一个接口 IPeople

using System;
using System.Collections.Generic;
using System.Text;
namespace InterfaceTest
{
  interface IPeople
  {
    void gender();
  }
}
这个接口里面有一个性别的方法,这个只对方法进行了定义,而方法内却没有内容,也就是说,通过这个接口的这个 gender 方法,我们不能知道它到底干什么,但是要知道这个gender 到底是干什么用的,那么就要看实现了这个方法的类。同理我定义两个类,分别实现这个接口。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace InterfaceTest
{
  class Boy:IPeople
  {
    public void gender()
    {
      Console.WriteLine("I?m a boy.");
    }
  }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace InterfaceTest
{
  class Girl:IPeople
  {
    public void gender()
    {
      Console.WriteLine("I?m a girl.");
    }
  }
}

通过上面的两个类,我们就很清楚的看到这个方法的作用了,我们也可以看到一个接口可以被多个类
内部文档,请勿外传
实现。
我们运行一下这个,看一下效果
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace InterfaceTest
{
  class Program
  {
    static void Main(string[] args)
    {
      IPeople Person; // 声明接口变量
      Person = new Boy(); // 实例化,接口变量中存放对象的引用
      Person.gender(); // 这个调用的是 Boy 中的 gender 方法
      Person = new Girl(); // 实例化,接口变量中存放对象的引用
      Person.gender(); // 这个调用的是 Gril 中的 gender 方法
      Console.ReadLine();
    }
  }
}

运行结果如下:

技术分享

 

关于interface

interface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,以封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现 的成员,通过类或结构来实现它。接口不能直接实例化,即ICount ic=new iCount()是错的。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。

 

 

网络资料学习整理——波仔

接口的概念

标签:

原文地址:http://www.cnblogs.com/dongbo2015/p/4682906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!