首页 > 编程语言 >(三十三)C#编程基础复习——C#接口(interface)

(三十三)C#编程基础复习——C#接口(interface)

时间:2023-12-18 11:25:38浏览次数:28  
标签:三十三 string C# void 接口 interface public

接口可以看做是一个约定,其中定义了类或结构体继承接口后需要实现功能,接口的特点如下:

  1. 接口是一个引用类型,通过接口可以实现多重继承;
  2. 接口中只能声明“抽象”成员,所以不能直接对接口进行实例化;
  3. 接口中可以包含方法、属性、事件、索引器等成员;
  4. 接口名称一般习惯使用字母“I”作为开头(不是必须的,不这样声明也可以);
  5. 接口中成员的访问权限默认为public,所以我们在定义接口时不用再为接口成员指定任何访问权限修饰符,否则编译器会报错;
  6. 在声明接口成员的时候,不能为接口成员编写具体的可执行代码,也就是说,只要定义成员时指明成员的名称和参数就可以了;
  7. 接口一旦被实现(被一个类继承),派生类就必须实现接口中的所有成员,除非派生类本身也是抽象类。

一、声明接口

在C#中声明接口需要使用interface关键字,语法如下:

  public interface InterfaceName
  {
      returnType funcName1(type parameterlist);
      returnType funcName2(type parameterlist);
      ...
  }

其中,InterfaceName为接口名称,returnType为返回值类型,funcName为成员函数的名称,parameterList为参数列表。

namespace _030
{
    public interface Iwebsite//定义一个接口
    {
        void setValue(string str1, string str2);
        void disPlay();
    }
    public class Website:Iwebsite//定义一个类实现接口
    {
        public string name, url;
        public void setValue(string n,string u)
        {
            name = n;
            url = u;
        }
        public void disPlay()
        {
            Console.WriteLine("{0} {1}",name,url);
        }
    }
    internal class Program
    {
        static void Main(string[] args)
        {
            Website web = new Website();
            web.setValue("C#中文网", "http://c.biancheng.net");
            web.disPlay();
            Console.ReadKey();
        }
    }
}

二、接口继承

在C#中,一个接口可以继承另一个接口,例如可以使用接口1继承接口2,当用某个类来实现接口1时,必须同时实现接口1和接口2中的所有成员,例子如下:

namespace _031
{
    public interface IParentInterface//定义父类接口
    {
        void ParentInterfaceMethod();
    }
    public interface IMyInterface:IParentInterface//继承父类接口
    {
        void MethodToImplement();
    }
    internal class Program:IMyInterface//实现接口
    {
        static void Main(string[] args)
        {
            Program demo = new Program();
            demo.MethodToImplement();
            demo.ParentInterfaceMethod();
        }
        public void MethodToImplement()
        {
            Console.WriteLine("实现IMyInterface接口中的MethodToImplement函数");

        }
        public void ParentInterfaceMethod()
        {
            Console.WriteLine("实现IParentInterface接口中的ParentInterfaceMethod函数");
        }
    }
}

 

标签:三十三,string,C#,void,接口,interface,public
From: https://www.cnblogs.com/daihaoliulingyi601/p/17910626.html

相关文章

  • 安装docker
    卸载docker删除docker所在目录rm-rf/etc/dockerrm-rf/run/dockerrm-rf/var/lib/dockershimrm-rf/var/lib/docker删除docker进程ps-ef|grepdockerkill-9pid卸载docker相关包yumlistinstalled|grepdockeryumremovecontainerd.io.x86_......
  • docker安装nginx
    下载nginx镜像dockerpullnginx:1.24.0简易启动nginxdockerrun-p81:80-d--namesimple-nginxnginx:1.24.0创建本地挂载文件夹#创建四个文件夹conf,log,html,conf.dmkdir-p/home/nginx/{conf,logs,html,conf.d}复制简易nginx中的文件到挂载目录中#复制......
  • curl
    curl命令参数用法-XGET/POST请求类型-F'userName=test'请求参数-d'{"userName":"test"}'POST请求体-H'con:con'请求头......
  • can总线相关内容
    can总线是一种串行通讯总线。具有多主控制的特点,及在总线空闲时,所有单元都可以开始发送消息,最先访问总线的单元可以获得发送权。多个单元同时访问总线时,发送高优先级id消息的单元可以优先访问。can总线中利用id标识各个节点。在节点发送数据时,发送的报文帧中也应含有节点的id信息......
  • 【python】浏览器自动化Selenium安装WebDriver最新Chrome驱动
    selenium 是浏览器自动化测试框架,原本被用于网页测试。但到了爬虫领域,它又成为了爬虫的好帮手。selenium 可以控制你的浏览器,模仿人浏览网页,从而获取数据,自动操作等。首先打开 Chrome浏览器,依次点击浏览器右上角的 三个点 - 帮助 - 关于GoogleChrome查看浏览器版本信......
  • A. Constructive Problems
    原题链接思路历程1.一开始我不知道具体该怎么放,于是我按照样例2的顺序手画了一遍。2.然后发现,对于一个n*n的矩形,再放一个格子最大能使其达到(n+1)*(n+1)3.1*1时,放了1个格子,2*2时放了2个格子,由此可以推出放n个格子时最大能达到n*n4.这道题就变成了,找出k使得k*k刚好能覆盖n*m,也就......
  • CC-LINKIE转EtherCAT协议具体应用
    CCLINKIE转EtherCAT协议应用是一种将CCLINKIE网络与EtherCAT网络进行连接和数据交换的方法。这种应用主要应用于工业自动化领域,可以实现高速、可靠的数据传输,并支持分布式控制和实时响应。 在CCLINKIE转EtherCAT协议应用中,CCLINKIE网络中的数据可以通过网关设备转换为EtherCAT......
  • 【机器学习】OpenCV人脸识别
    OpenCv基础函数#读取图片image=cv2.imread("test01.jpg")#转灰度gray_image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)#修改尺寸resize_image=cv2.resize(image,(300,400))#绘制矩形cv2.rectangle(image,(x,y),(x+width,y+height),(0,255,0),2)#......
  • C#面向对象程序设计
    实验二面向对象程序设计一、实验目的理解类的定义、继承等面向对象的的基本概念;掌握C#语言定义类及其各种成员(字段,属性,方法)的方法;掌握方法覆盖的应用;掌握接口的定义和实现方法。二、实验要求根据要求,编写C#程序,并将程序代码和运行结果写入实验报告。三、实验内容设计......
  • 神奇的 SQL 高级处理之 Window Functions → 打破我们的局限
    什么是窗口函数 WindowFunction 也称为 OLAP(OnlineAnalyticalProcessing)函数 对数据库数据进行实时分析处理,例如市场分析、财务报表等,是标准的SQL功能中文翻译过来,叫 窗口函数 ,或者 开窗函数 ,在 Oracle 中也称 分析函数 与 聚合函数 一样......