前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C Sharp(十)

C Sharp(十)

作者头像
1ess
发布2021-11-01 16:08:58
4560
发布2021-11-01 16:08:58
举报
文章被收录于专栏:0x7c00的专栏0x7c00的专栏

C Sharp(十)

發佈於 2018-11-10

这一篇,我们再回来说说最后一种类型: 接口(interface)。

什么是接口

接口是指定一组函数成员而不实现他们的引用类型。

interface IInfo { string GetName(); string GetAge(); }

我们可以用类或结构来实现接口。

class MyCls: IComparable { public int TheValue; public int CompareTo(object obj) { MyCls cls = (MyCls)obj; if (TheValue > cls.TheValue) return 1; if (TheValue < cls.TheValue) return -1; return 0; } }

接口声明

  • 接口声明不能包含数据成员和静态成员
  • 接口只能包含如下非静态成员:
    1. 方法
    2. 属性
    3. 事件
    4. 索引器
  • 接口应该以大写字母 I 开始

public interface IMyInterface { //注意: 接口函数成员不能有访问修饰符 int DoStuff(int val); }

实现接口

要实现接口:

  • 与继承类似,类或结构后跟冒号,再跟接口名
  • 为每一个接口成员提供实现

注意: 如果有继承,并实现接口,基类名必须出现在接口之前:

class Derived : BaseClass, IIfc1, IIfc2 { //... }

实现多个接口

  • 类或结构可以实现任意数量的接口
  • 所有实现的接口,必须列在基类列表以逗号分隔

接口可以继承接口

与类的继承不同,接口可以多继承。

interface IData : IDataR, IDataS { //... }

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是接口
  • 接口声明
  • 实现接口
  • 实现多个接口
  • 接口可以继承接口
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档