A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小笨 中级黑马   /  2014-8-3 11:28  /  1178 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小笨 于 2014-8-4 08:31 编辑

在C#中怎么实现接口?

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

9 个回复

倒序浏览
1.接口可以通过类或结构来实现;
2.用类来实现接口时,接口的名称必须包含在类声明中的基类列表中。

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
定义接口后,再定义一类来实现接口的相应功能。

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1 有具体的代码说明就更好了

查看全部评分

回复 使用道具 举报
接口
      1完全抽象的一种约定
      2.接口就是用来实现了
语法:[访问修饰符] Interface 接口名
      {
          ..接口成员定义
      }
        接口就是一个特殊的抽象类,接口中成员默认就是抽象的
        接口中的成员不能有任何实现.
        接口的成员不能有访问修饰符 默认就是public
        接口中只能定义索引器 方法 属性(属性不是要自动产生字段么?不是自动属性) 事件  属性里不能有实现
        接口的命名规范 I**able 实现这个接口的类 就具有了这样的功能.
        接口可以多实现 类只能单继承. 如果同时实现接口又继承 那么父类要写在第一个.
        接口的实现类必须实现接口的所有的成员.
        接口可以继承接口
        接口不能被实例化 因为没有实现
        可以把接口成员实现为虚方法或者抽象方法
        显示实现接口,解决方法冲突问题 只能通过接口来访问...因为显示实现后是private
        接口污染 因为接口可以多实现 所以不需要定义多功能接口 因为有些功能不是子类一定要实现的
        接口的本质是1个特殊的抽象类..
        不能有构造函数.

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
  1. public class A:ITest
  2. {
  3. //需要实现ITest接口中的方法、属性等等
  4. }
复制代码
和继承有点类似,不过实现接口的话 一般就需要全部实现接口中的方法或属性;
回复 使用道具 举报
你好,请加下我的qq:295763713
回复 使用道具 举报
路过学习!
回复 使用道具 举报
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Demo18
{
    //接口
    interface ICha   //chatou
    {
        //定义接口时,无需访问修饰符
        void use(string s);  //使用插头   方法名+返回类型+参数=规格
    }



    class Student: ICha  //继承接口   并要实现接口里面的所有方法
    {
        public void use(string s)  //无需override  在  子类里面  实现  接口里面的方法叫(实现方法)
        {
            Console.WriteLine(s);
        }
        
    }


    class Program
    {
        static void Main(string[] args)
        {
            //Student stu = new Student();
            //stu.use("电风戽");
            //stu.use("空调");
            //ICha ic = new ICha();  //接口不能实例化,不能new
        }
    }
回复 使用道具 举报
本帖最后由 FrancisTan 于 2014-8-4 23:32 编辑

C#中实现接口跟C++中的继承有点类似,可以理解为多继承显然它的实现是通过继承来实现的,语法与类的继承一样,不过区别是,在C#中,类的继承只能是单继承,而接口则不限,接口与接口之间用“,”隔开。
例如:            (父类) (接口1) (接口2)
class Person : Animal,   ISound,   IPlay, ......
{}
然后在类的定义中,实现接口中的方法体即可!
回复 使用道具 举报
定义属性,属性用来给对象赋值和取值
  1.   class Person
  2.     {
  3.         private int age;
  4.         public int Age
  5.         {
  6.             set;
  7.             get;
  8.         }
  9.     }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马