C# -- Abstract、Virtual、interface

一、Virtual方法(虚方法)

1)virtual 关键字用于在基类(父类)中修饰方法

2)基类中定义了virtual方法,派生类中使用override重写该方法

二、Abstract方法(抽象方法)

1)abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现

2)抽象方法的实现必须在派生类中使用override关键字来实现

3)abstract:声明抽象类、抽象方法。抽象方法所在类必须为抽象类。抽象类不能直接实例化,必须由其派生类实现

​​​​​​​

三、interface (接口)

1)interface用来声明接口,只提供一些方法规约,不提供方法主体

2)接口方法默认是公有方法,不能用public abstract等修饰,无字段变量,无构造函数

3)接口方法可包含参数

4)接口和抽象类最本质的区别:抽象类是一个不完全的类,是对对象的抽象,而接口是一种行为规范

5)接口定义以大写字母I开头

​​​​​​​

相关推荐
EW Frontier几秒前
三级跳突破864维动作空间——QMIX-Hierarchical多无人机协同通信方法全解析【附python代码】
开发语言·python·无人机·强化学习·通信资源分配
名字还没想好☜3 分钟前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
乐观勇敢坚强的老彭20 分钟前
C++浮点数使用注意事项
开发语言·c++
wuyk55529 分钟前
38.什么是C语言?从语法到工程落地的工程师视角解读
c语言·开发语言·stm32·单片机·mcu·51单片机
库克克32 分钟前
【C++ 】内联函数
java·开发语言·c++
zh_xuan37 分钟前
java 虚拟线程
java·开发语言·虚拟线程
LibraJM40 分钟前
一种适合程序员的 Agent 协作方式的实践
c#·copilot·agents
jason成都1 小时前
RTKLIB Java 移植踩坑复盘:卡尔曼滤波核心逻辑修复与滑坡场景实测验证
java·开发语言
一次旅行1 小时前
【AI工具】Rust-Based CLI:用 xargs 和并行加速你的 Linux 日常
linux·开发语言·rust
老毛肚1 小时前
juc线程通信
java·开发语言·jvm