一. 在 C# 语言中,类之间的继承关系仅支持单重继承,而接口是为了实现多重继承关系设计的。

二. 一个类能同时实现多个接口,还能在实现接口的同时再继承其他类,并且接口之间也可以继承。

三. 无论是表示类之间的继承、还是类实现接口、接口与接口之间的继承,都使用“:”来表示。多个之间用英文逗号‘,’分隔。

定义:

  interface  接口名称
  {
      接口成员;
  }

  1. 接口名称

  通常是以 I 开头,再加上其他的单词构成。例如创建一个计算的接口,可以命名为 ICompute。 

  2. 接口成员

  接口中定义的成员与类中定义的成员类似。需满足以下条件:

  接口中定义的成员必须满足以下要求。

    1). 接口中的成员不允许使用 public、private、protected、internal 访问修饰符。默认就是public,无需修饰。

    2). 接口中的成员不允许使用 修饰符static、virtual、abstract、sealed 等。

    3). 在接口中不能定义字段。

    4). 在接口中定义的方法不能包含方法体。

【实例】创建一个接口计算学生成绩的接口 ICompute,并在接口中分别定义计算总成绩、平均成绩的方法。

public interface ICalculateScore
{
  int Id { get; set; }
  string Name { get; set; }
  void Total();
  void Avg();
}

在 C# 语言中规定不能直接创建接口的实例,只能通过类实现接口中的方法。

interface Part2(定义接口)的更多相关文章

  1. interface关键字定义接口

    package interface0; public interface InterfaceTest { /* * 接口的定义,使用interface关键字定义接口 */ public interfa ...

  2. 接口interface、实现接口implements

    接口实现类的多重继承,即一个类有多个父类. interface定义接口: interface 接口名 [extends 父接口名列表]{ 变量: 方法: } implements实现接口: class ...

  3. 用关键字interface定义接口,通过关键字implements来实现接口

    [定义]Java中,能够完成特定功能的,由若干属性和方法组织成的,相对独立的属性和方法的集合. [用途]实现类的多继承,以解决Java只能单继承,不支持多继承的问题. [特点] 用关键字interfa ...

  4. JAVA定义接口格式:

    [public]interface 接口名称 [extends父接口名列表] { //静态常量 [public] [static] [final] 数据类型变量名=常量值; //抽象方法 [publi ...

  5. android 学习随笔二十七(JNI:Java Native Interface,JAVA原生接口 )

    JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? 首先,Java语言提供的类 ...

  6. Android中定义接口的方法

    1.接口方法用于回调(这里定义接口是为了使用其接口方法): public interface ICallback { public void func(); } public class Caller ...

  7. 安全接口 interface --显示实现接口

    前言:当我们定义接口的成员的时候不需要写访问控制符,因为它是默认public的,也只能是public.当一个类要实现这个接口的时候,自然要公开其成员.一直以来我都这么做. interface Inte ...

  8. VC++ 使用attributes定义接口

      1.定义预处理命令_ATL_ATTRIBUTES 2.在一个全局的Cpp文件里面配置module的attribute [module(dll, uuid = "{3845951F-15B ...

  9. struts2 在拦截器进行注入(依据Action是否实现自己定义接口)

    比如:经常在Action中都须要获取当前登录的User,就须要获取Session.然后从Session获取当前登录的User,由于这些步骤都是反复操作,能够想办法在拦截器中进行实现.能够自己定义一个接 ...

  10. c# 接口(interface)与接口应用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; //接口(interface ...

随机推荐

  1. C# Area 双重路由

    在WebApi项目里面 一般除了接口, 还有管理端...一些乱七八糟的,你想展示的东西, 一种做法是分开写: 比如管理后台一个项目, 然后接口一个, 然后页面一个, 其实这样做也可以,但是这么做, 无 ...

  2. [Eclipse]已经写好的代码怎样切换为unix下的换行符?

    问题:使用eclise提交文件到github,每行文件后面都有^M字符 切换换行符的显示格式, 但是这样只能对新文件起作用,修改旧文件:

  3. 移动端IM系统的协议选型:UDP还是TCP?(转)

    源: 移动端IM系统的协议选型:UDP还是TCP?

  4. flex简单参考实例

    <!DOCTYPE html> <html> <head> <title></title> <style type="tex ...

  5. JQuery中formSerialize()报错:对象不支持"formSerialize"属性或方法

    formSerialize()是jQuery的表单插件中提供的方法. formSerialize()的核心方法是:$.param(data); Form表单经过formSerialize(),被序列化 ...

  6. 十一、postman接口测试(安装nodejs和npm)

    cmder安装:https://cmder.net/ node安装:https://nodejs.org/zh-cn/ 打开cmd命令,在命令提示窗输入 npm install -g cnpm --r ...

  7. python-learning-第二季-数据处理numpy

    https://www.bjsxt.com/down/8468.html numpy-科学计算基础库 例子: import numpy as np #创建数组 a = np.arange() prin ...

  8. 我是如何同时拿到阿里和腾讯offer的 【转载】

    前言 三月真是一个忙碌的季节,刚刚开学就需要准备各种面试和笔试(鄙视).幸运的是,在长达一个月的面试内推季之后,终于同时拿到了阿里和腾讯的offer,还是挺开心的.突而想起久未更新的博客,就冒昧学一学 ...

  9. matlab基本函数 randn,rand,orth

    一起来学演化计算-matlab基本函数randn, rand, orth 觉得有用的话,欢迎一起讨论相互学习~Follow Me randn X = randn 随机从正态分布中选一个数作为结果 X ...

  10. LeetCode_257. Binary Tree Paths

    257. Binary Tree Paths Easy Given a binary tree, return all root-to-leaf paths. Note: A leaf is a no ...