当前位置: 首页 > news >正文

委托、多态、继承接口

## 一、知识点文字精简
### 1. 委托 & 多播委托
1. 委托是**方法签名模板**,用来存放格式一致的方法,相当于方法名片。
2. 多播委托依靠 `+=` 添加多个方法、`-=` 移除绑定方法。
3. 执行多播委托时,按照**添加顺序从上到下依次执行所有绑定方法**。

### 2. 虚方法与多态
1. 父类方法加 `virtual`:开放重写权限,允许子类重写。
2. 子类重写同名方法必须加 `override`。
3. 多态口诀:**编译看左边(声明类型),运行看右边(实例对象)**;编译阶段以父类做语法校验,运行时执行子类重写方法。

### 3. 继承 & 接口
1. 类是**单继承**:一个子类只能继承唯一一个父类,不能多类继承。
2. 接口是**多实现**:一个类可以同时实现多个接口,接口只定义行为规范,没有实例字段。
3. 继承复用父类成员,接口约束类必须实现指定方法。

## 二、完整代码示例
### 示例1:委托+多播委托

```csharp
using System;

//定义委托模板
delegate void MsgDel();

class DelegateDemo
{
static void Func1()
{
Console.WriteLine("执行第一个方法");
}
static void Func2()
{
Console.WriteLine("执行第二个方法");
}

static void Main()
{
MsgDel del = Func1;
del += Func2; //多播绑定
del(); //顺序执行Func1、Func2

del -= Func2; //解绑
del(); //只执行Func1
Console.ReadKey();
}
}
```

### 示例2:virtual + override 多态
```csharp
using System;

//父类
public class Animal
{
public virtual void Cry()
{
Console.WriteLine("动物发出叫声");
}
}

//子类重写
public class Dog : Animal
{
public override void Cry()
{
Console.WriteLine("汪汪汪");
}
}

class PolyDemo
{
static void Main()
{
//编译左边是Animal,运行右边是Dog实例,触发多态
Animal a = new Dog();
a.Cry();
Console.ReadKey();
}
}
```

### 示例3:单继承+多接口实现
```csharp
using System;

//定义接口
interface IElectric
{
void Charge();
}
interface IRunning
{
void Run();
}

//父类
class Vehicle
{
public void ShowType()
{
Console.WriteLine("这是交通工具");
}
}

//子类:单继承Vehicle,同时实现2个接口
class ElectricCar : Vehicle, IElectric, IRunning
{
public void Charge()
{
Console.WriteLine("电动车正在充电");
}
public void Run()
{
Console.WriteLine("电动车上路行驶");
}
}

class InterfaceDemo
{
static void Main()
{
ElectricCar car = new ElectricCar();
car.ShowType();
car.Charge();
car.Run();
Console.ReadKey();
}
}
```

## 三、运行结果简要说明
1. 多播委托:先输出两个方法内容,解绑后只输出第一个方法;
2. 多态代码:输出「汪汪汪」而非父类默认叫声;
3. 继承接口:依次打印交通工具、充电、行驶三行内容。

http://www.jsqmd.com/news/958135/

相关文章:

  • 计算机毕业设计之C5.0决策树算法在学生成绩预测中应用
  • 实战应用:基于快马平台构建可部署的页面每日更新监控系统
  • 极域电子教室破解技术深度解析:从内核驱动到用户态对抗的完整方案
  • 终极免费FF14钓鱼计时器:渔人的直感完整使用教程
  • 航空搜救指挥痛点:三维电子沙盘如何破解复杂地形调度难题
  • Shiply 2026 自研升级API方案对比
  • 从零安装 Claude Code
  • 2026南宁家政公司十大排名,口碑第一名花落谁家?看完这篇不纠结 - 教育信息速递
  • 解锁上班新姿势[特殊字符]
  • Sora 2科学可视化不是“视频生成”,而是新一代计算叙事引擎(附IEEE VIS 2024预印本验证数据)
  • ai赋能内容平台:借助快马平台大模型为ao3镜像站实现智能标签与推荐
  • 无需下载matlab,用快马ai平台5分钟搭建在线矩阵计算与绘图原型
  • 学完吴恩达第一周,我整理了这份深度学习避坑指南:从数据、算力到算法选择
  • 【毕业设计】基于springboot+微信小程序的在线预约挂号系统基于微信小程序的智能在线预约挂号系统(源码+文档+远程调试,全bao定制等)
  • 【AI工具学习路径规划避坑白皮书】:基于237个真实学习案例的路径失效根因分析(附可执行诊断清单)
  • Gemini世界观构建:3天内完成从Prompt工程师到认知架构师的跃迁路径
  • 法律检索响应时间从15分钟压缩至8秒:北京知识产权法院AI辅助裁判系统内部操作手册首度流出
  • GEO优化公司推荐名单有哪些?GEO是什么公司?2026年6月国内GEO服务商TOP6综合测评 - 互联网科技品牌测评
  • SMUDebugTool:AMD Ryzen处理器深度调试与性能调优完整指南
  • 博主实测:为什么说德源 DYG5001 是 IGBT 封装中 3M 5413 的最强替身?
  • 如何快速解密科学文库PDF:3分钟完整破解指南
  • 六家 GEO 系统服务商实测横向测评,按企业发展周期筛选 TOP 推荐厂商
  • Anthropic千亿估值买不来未来:类脑智能正在逆袭
  • 农业AI入门:5分钟看懂植物叶片‘健康指纹’——高光谱反射曲线
  • 荣获参与奖哈哈
  • 新手零基础入门:借助快马ai生成你的第一个数据库交互网页应用
  • 为什么2026年将成为AI Agent元年
  • 2026宜昌防水补漏哪家好?住建实地测评权威榜单TOP5|卫生间免砸砖/阳台屋顶/厨卫漏水维修(6月宜昌专项调研) - 苏易修缮
  • 3步掌握APK安装器:Windows上运行安卓应用的终极指南
  • 2026 天津专升本机构五星排名榜单|本土老牌艺大教育综合实力稳居第一梯队