目录

使用接口案例

接口继承

练习


定义一个接口,在语法中与定义一个抽象类是没有区别的,但是不允许提供接口中任意成员的实现方式,一般接口只会包含方法 、索引器和事件的声明, 不允许声明成员的修饰符, public都不行 。因为接口总是共有的 ,也不能声明虚拟和静态。 

接口不会有构造函数  也不能有数据字段

接口不能被实例化

使用接口案例

定义接口  IFiy

//interface 定义接口的关键字
internal interface IFiy
{//定义没有实现的方法//飞  可以有参数void Fly();//攻击void Attack();}

定义一个Plane飞机类继承 IFiy接口

internal class Plane : IFiy
{public void Attack(){Console.WriteLine("飞机在空中战斗");}public void Fly(){Console.WriteLine("飞机在空中飞");}
}

定义一个 Brid鸟类继承 IFiy接口,接口可以被多个类继承

internal class Brid : IFiy
{public void Fly(){Console.WriteLine("小鸟在空中飞");}public void Attack(){Console.WriteLine("小鸟在空中捕猎");}
}

主函数

static void Main(string[] args)
{// 接口不会有构造函数  也不能有数据字段Plane plane = new Plane();plane.Fly();//接口不能被实例化;//使用接口的具体操作IFiy fiy;fiy = new Plane();fiy.Fly();// 飞机的飞fiy = new Brid();fiy.Fly();//小鸟的飞//使用接口创建一个变量  写了两个构造 这在编程中叫做多态  
//因为fiy发生了变化 之前是飞机  后面变成了小鸟  所以他的形态是可以变化的 这种语法在C#中叫做  多态
}

接口继承

接口与接口之间的继承

internal interface Interface1
{void YY();
}
internal interface Interface2
{void cy();
}
//接口与接口之间的继承
internal interface Interface3 : Interface1 , Interface2
{void Show();
}
 //接口Interface3中含有三种方法,一个自己的两个继承的
internal class Class1 : Interface3{public void cy(){throw new NotImplementedException();}public void Show(){throw new NotImplementedException();}public void YY(){throw new NotImplementedException();}}
//定义一个抽象类模板
internal abstract class Student
{public int Id { get; set; }public string Name { get; set; }public string Addres {  get; set; }public string Phone {  get; set; }public int  Age { get; set; }  
}
 // ,Interface1 接口继承//在继承中 除了第一个要继承的类或则是接口使用:  后面再继承的接口要使用逗号隔开// 类是不允许多继承的  每个类只能有一个基类internal class Yse : Student, Interface1 , Interface2{public Yse(string name) {Name = name;}public void YY(){Console.WriteLine($"{Name}是会游泳的学生");}public void cy(){Console.WriteLine($"{Name}会唱歌");}}
internal class No : Student , Interface2
{public void cy(){Console.WriteLine($"{Name}会跳舞");}
}
static void Main(string[] args)
{Yse y = new Yse("张三");y.Name = "张三";y.YY();y.cy();Interface1 i;i = new Yse("张三");i.YY();// 接口的多态Interface1 i1;i1 = new Yse("李四");i1.YY();}

练习

定义一个接口用来做数学运算 既可以做加法也可以做减法  通过具体的数学操作类(加法类 减法类)去实现接口中的方法 完成操作  提示:运用接口的多态性

主函数

internal class Program
{static void Main(string[] args){Math m;m = new Add();Console.WriteLine(m.Maths(10,20)); // 30  加法  m = new Sub();Console.WriteLine(m.Maths(10,20)); // -10  减法}
}

创建一个Math接口

internal interface Math
{double Maths(double a , double b);}

加法类

internal class Add :Math
{public double Maths(double a,double b){return a + b;}
}

减法类

internal class Sub : Math
{public double Maths(double a, double b){return a - b;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90821.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90821.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/90821.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5190 - 提高:DFS序和欧拉序:树上操作(区域修改1)

题目传送门 时间限制 : 2 秒 内存限制 : 256 MB 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中…

【Oracle】数据泵

ORACLE数据库 数据泵 核心参数全解析 ORACLE expdp 命令使用详解 1.ATTACH[schema_name.]job_name Schema_name 用于指定方案名,job_name 用于指定导出作业名.注意,如果使用 ATTACH 选项,在命令行除了连接字符串和 ATTACH 选项外,不能指定任何其他选项,示例如下: expdp hr/hr A…

机器学习的算法有哪些?

🌟 欢迎来到AI奇妙世界! 🌟 亲爱的开发者朋友们,大家好!👋 我是人工智能领域的探索者与分享者,很高兴在CSDN与你们相遇!🎉 在这里,我将持续输出AI前沿技术、实…

【计算机网络】OSI七层模型

OSI七层模型为什么需要OSI七层模型?OSI七层模型具体是什么?Layer7:应用层(Application Layer)Layer6:表示层(Presentation Layer)Layer5:会话层(Session Laye…

RS485转Profinet网关配置指南:高效启动JRT激光测距传感器测量模式

RS485转Profinet网关配置指南:高效启动JRT激光测距传感器测量模式RS485转Profinet网关:让JRT激光测距传感器高效开启测量模式在工业自动化场景中,设备间的高效通信是实现精准控制的关键。RS485转Profinet网关作为连接传统RS485设备与现代Prof…

「日拱一码」040 机器学习-不同模型可解释方法

目录 K最近邻(KNN) - 基于距离的模型 决策边界可视化 查看特定样本的最近邻 ​随机森林(RF) - 树模型 feature_importances_ SHAP值分析 可视化单棵树 多层感知器(MLP) - 神经网络 部分依赖图 LIME解释器 权重可视化 支持向量回归(SVR) - 核方法 支持向量可视化 部…

编程与数学 03-002 计算机网络 09_传输层功能

编程与数学 03-002 计算机网络 09_传输层功能一、传输层的作用(一)进程间通信(二)提供可靠传输(三)复用与分用二、TCP协议(一)TCP的连接建立与释放(二)TCP的可…

14. Web服务器-Nginx-工作原理

文章目录前言一、简介二、工作原理1. 多进程架构2. 事件驱动模型3. 模块化设计三、工作流程1. 启动阶段2. 等待连接3. 请求处理阶段4. 响应构造与输出5. 连接关闭前言 Nginx‌ Nginx(发音为“Engine-X”)是一款高性能的开源Web服务器软件,同…

AP-0316:集 USB 即插即用、智能降噪于一体的多功能 AI 声卡,重新定义清晰语音交互

AP-0316突发噪音和抗风噪测试还在为语音设备的噪音刺耳、连接复杂、功放适配麻烦而头疼?AP-0316 多功能 AI 降噪消回音 USB 声卡来了 —— 以 “USB 即插即用 自带功放 智能降噪 场景适配” 四大核心优势,将专业级语音处理技术变得简单易用&#xff0…

Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现卫星图像识别(C#代码,UI界面版)

Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现卫星图像识别(C#代码,UI界面版)工业相机使用YoloV8模型实现水下鱼类识别工业相机通过YoloV8模型实现卫星图像识别的技术背景在相机SDK中获取图像转换图像的代码分析工业相机图像转换…

某d的评论爬虫学习

本教程仅用于技术研究,请确保遵守目标网站的服务条款。实际使用前应获得官方授权,避免高频请求影响服务器,否则可能承担法律责任。此脚本仅拦截公开评论接口,不涉及用户私密数据。请勿修改代码监听其他请求。分享一下爬某抖评论的…

SQLite 注入:理解与防御

SQLite 注入:理解与防御 引言 随着互联网技术的飞速发展,数据库已成为各类应用程序的核心组成部分。SQLite 作为一款轻量级的关系型数据库,广泛应用于移动应用、桌面应用及嵌入式系统。然而,SQLite 数据库也面临着安全挑战&#x…

Java中List集合对象去重及按属性去重

请直接移步原文Java中List集合对象去重及按属性去重的8种方法 只记录自己喜欢的几种方法 对象元素整体去重的2种方法按照对象属性去重的4种方法 预备数据 public class ListRmDuplicate {private List<String> list;private List<Player> playerList;BeforeEac…

ADAS测试:如何用自动化手段提升VV效率

当前&#xff0c;ADAS 技术正在快速发展&#xff0c;从智能巡航控制到自动紧急制动等功能已逐渐成为汽车的标配。在不断提升驾驶辅助能力的同时&#xff0c;系统的可靠性也受到前所未有的重视。为了确保这些关键系统在各种工况下都能正常运行&#xff0c;验证与确认&#xff08…

互信息:理论框架、跨学科应用与前沿进展

1. 起源与核心定义 互信息&#xff08;Mutual Information, MI&#xff09;由克劳德香农&#xff08;Claude Shannon&#xff09; 在1948年开创性论文《A Mathematical Theory of Communication》中首次提出&#xff0c;该论文奠定了现代信息论的基础。互信息用于量化两个随机…

C++模板元编程从入门到精通

之前面试被问到什么是模板元编程&#xff0c;给我问懵了…… 一、什么是模板元编程&#xff08;TMP&#xff09; 模板元编程&#xff08;Template Metaprogramming, TMP&#xff09;是一种利用C模板在编译期执行计算和代码生成的编程范式。它本质上是“编写程序的程序”&#…

探秘CommonJS:Node.js模块化核心解析

CommonJS 是 JavaScript 的模块化规范&#xff0c;主要应用于 服务器端环境&#xff08;尤其是 Node.js&#xff09;&#xff0c;其核心目标是解决代码组织、依赖管理和作用域隔离问题 。以下是其核心要点&#xff1a;&#x1f527; 一、核心特性同步加载 模块通过 require() 同…

Windows 10 远程桌面(RDP)防暴力破解BAT脚本

0x01 设置5次失败后锁定账户30分钟 secpol.msc # 导航到: 安全设置 > 账户策略 > 账户锁定策略 0x02 复制保存到 BlockFailedRDP.ps1 <# .DESCRIPTION 此脚本分析Windows安全日志中的RDP登录失败事件(ID 4625)&#xff0c; 统计每个IP的失败次数&#xff0…

Chukonu 阅读笔记

Chukonu&#xff1a;一个将原生计算引擎集成到 Spark 中的全功能高性能大数据框架 摘要 Apache Spark 是一种广泛部署的大数据分析框架&#xff0c;它提供了诸如弹性、负载均衡和丰富的生态系统等吸引人的特性。然而&#xff0c;其性能仍有很大的改进空间。尽管用原生编程语言编…

51c视觉~3D~合集4

自己的原文哦~ https://blog.51cto.com/whaosoft/14084543 #VGGT-Long 首次将单目3D重建推向公里级极限&#xff01;南开、南大提出&#xff1a;分块、循环、对齐&#xff0c;开源 近年来&#xff0c;3D视觉基础模型&#xff08;Foundation Models&#xff09;在3D感…