首页 > 编程语言 >C#接口(Interface)

C#接口(Interface)

时间:2024-02-05 12:13:15浏览次数:24  
标签:C# void 接口 继承 Interface public Koulan 实现

在 C# 语言中,类之间的继承关系仅支持单重继承,而接口是为了实现多重继承关系设计的。一个类能同时实现多个接口,还能在实现接口的同时再继承其他类,并且接口之间也可以继承。无论是表示类之间的继承还是类实现接口、接口之间的继承,都使用“:”来表示。

接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。接口定义了语法合同“是什么”部分,派生类定义了语法合同“怎么做”部分。

1、什么是接口?

  1.接口是一种规范,就好像U盘的接口,谁拥有这个类型的接口,谁就能使用U盘里的一切。

  2.接口中不能出现构造函数跟字段,因为它跟抽象类很像,光说不做,只是定义了一组未实现的方法。

  3.接口内的成员不能加任何修饰符,默认为public。

2、接口有啥用?

  就像之前说的,它是一种规范,当项目里面内容较少时,看不出接口的作用,但当项目很大时,里面的功能会很多,而接口弥补了类无法多继承的缺点。不同的类继承

  同一个接口来实现接口内的方法,从而实现了相同的方法实现不同的功能。接口的作用有点类似于父类,但是接口的优点在于能够多继承,缺点是不能包含构造函数跟字段。

3、接口与类的关系

  1.只要一个类继承了一个接口,那这个类必须实现接口中所有的成员,除非是抽象类(依靠子类实现)。

  2.类可以被多个子类继承,却无法继承多个父类。而接口与接口之间可以多继承。

  3.一个类可以同时继承父类,并实现了接口,那么语法上父类必须写在接口前面。

4、扩展知识

1.显示实现接口的目的是解决重名问题,例如:

public class Student        //此时函数为类自己的成员

    {
        public void Koulan()
        {
            Console.WriteLine("类的方法");
        }
    }    
public interface : IKoulan
{
    void Koulan(){
}
}    
-------------------------------------------
public class Student : Ikoulan          //系统会认为这个方法是接口的
    {
        public void Koulan()
        {
            Console.WriteLine("类的方法");
        }
    }    

-----------------------------------------
public class Student : Ikoulan          //显示实现接口函数
    {
        public void Koulan()
        {
            Console.WriteLine("类的方法");
        }
        void Ikoulan.Koulan(){
       Console.WriteLine("接口的方法");
}
      
    }

  

 2、接口中可以有属性、事件、委托等

3、一个类继承多个接口,就必须得一个个实现接口中的方法,用接口名加点来实现

原文链接“https://www.cnblogs.com/Darius0821/p/16474115.html

http://www.360doc.com/content/21/0318/15/65839694_967624554.shtml

标签:C#,void,接口,继承,Interface,public,Koulan,实现
From: https://www.cnblogs.com/Dongmy/p/18007721

相关文章

  • 易基因:Chem. Eng. J: 多组学分析揭示玉米青贮好氧变质及黄梁木叶精油对其影响的研究|项
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。2024年01月13日,华南农业大学林业与园林学院张庆教授团队在《ChemicalEngineeringJournal》杂志上发表了以《NovelstrategytounderstandtheaerobicdeteriorationofcornsilageandtheinfluenceofNeolama......
  • 深入浅出Java多线程(十):CAS
    引言大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第十篇内容:CAS。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!在多线程编程中,对共享资源的安全访问和同步控制是至关重要的。传统的锁机制,如synchronized关键字和ReentrantLock等,能够有效防止多个线程同时......
  • 从C向C++8——多态
    一.多态基础面向对象程序设计语言有封装、继承和多态三种机制,这三种机制能够有效提高程序的可读性、可扩充性和可重用性。“多态(polymorphism)”指的是同一名字的事物可以完成不同的功能。多态可以分为编译时的多态和运行时的多态。前者主要是指函数的重载(包括运算符的重载)、对重载......
  • 为什么 Redis Cluster 是 16384 个槽位
    目录Redis集群CRC16的算法原理CRC16算法最大值心跳master节点间心跳通讯Redis集群RedisCluster采用数据分片机制,定义了16384个Slot槽位,集群中的每个Redis实例负责维护一部分槽以及槽所映射的键值数据。客户端可以连接集群中任意一个Redis实例,发送读写命令,如果当......
  • H3C PPP认证基本配置实验
    H3CPPP认证基本配置实验实验拓扑​​实验需求R1和R2使用PPP链路直连,R2和R3把2条PPP链路捆绑为PPPMP直连按照图示配置IP地址R2对R1的PPP进行单向chap验证R2和R3的PPP进行双向chap验证实验步骤R2和R3把2条PPP链路捆绑为PPPMP......
  • Scala--纯粹的面向对象语言
    Scala是一种多范式的编程语言,它将面向对象和函数式编程结合在一个简洁的高级语言中,Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。Scala基于JVM,和Java完全兼容,同样具有跨平台,可以执行好,方便的垃圾回收等特性;Scala是一种纯粹的面向对象语言;Scala是一门函数式编程语......
  • 使用C语言构建一个独立栈协程和共享栈协程的任务调度系统
    使用了标准库头文件<setjmp.h>中的setjmp和longjmp两个函数,构建了一个简单的查询式协作多任务系统,支持独立栈和共享栈两种任务。其中涉及到获取和设置栈的地址操作,因此还需要根据不同平台提供获取和设置栈的地址操作(一般是汇编语言,因为涉及到寄存器)该调度系统仅运行在一个......
  • c语言设计模式精要
    C语言是一种广泛使用的编程语言,它具有高效、灵活和可移植性等优点。在C语言的设计中,有一些重要的设计模式可以提高代码的可读性、可维护性和可扩展性。其中,最常见的设计模式包括单例模式、工厂模式和观察者模式等。单例模式用于确保一个类只有一个实例,并提供全局访问点;工厂模......
  • Mac电脑 Maven下载及安装
    一、下载maven官网: https://maven.apache.org/download.cgi 1.Files中列出来的3.9.x是最新发布的版本,一般我们选择之前的版本,在other部分红色框中可以查看maven-1~maven-4版本。 2.本次我想下载的是3.8.5,但是maven-3中已经不存在了,这时可以往下看。 3.OtherReleases......
  • 一文搞清楚Java中的包、类、接口
    写在开头包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。Java中的包Java定义了一种名字空间,称之为包:package。一个类总是属于某个包,类名(比如Person)只是......