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开头

​​​​​​​

相关推荐
xiaoye-duck7 小时前
《C++ 项目:手写大模型接入 SDK》Gemini接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
nice_lcj5209 小时前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试
码农小河669 小时前
基于SSM+JSP+MySQL的在线医疗服务系统的设计与实现
java·开发语言·mysql
nice_lcj52014 小时前
ThreadLocal 入门:它是怎么隔离数据的、为什么会导致内存泄漏
java·开发语言·后端·面试·并发编程·内存泄漏·threadlocal
紧跟先前的步伐14 小时前
Go AI Agent 实战 28|Agent 的预算、超时与停止条件
开发语言·人工智能·后端·ai·golang
bksczm15 小时前
InnoDB 行格式详解:DYNAMIC / COMPACT / COMPRESSED / REDUNDANT
java·开发语言·数据库
春涧草茶15 小时前
慢就是快16-1协程
开发语言·前端·python
Dovis(誓平步青云)16 小时前
启元 T1 Pro 人机相声搭档:语音-触摸双通道的启元机器人节奏引擎设计
开发语言·前端·javascript·microsoft·交互
做科研的周师兄16 小时前
【R语言实战】MixSIAR 氢氧同位素水源解析全流程:从混合空间校验到贝叶斯 MCMC 收敛诊断(后附完整代码)
java·大数据·开发语言
.痞老板.17 小时前
java ee--计算机是如何工作的
java·开发语言·java-ee