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

​​​​​​​

相关推荐
闪电悠米4 分钟前
黑马点评-秒杀优化-04_lua_and_db_fallback
服务器·开发语言·网络·数据库·缓存·junit·lua
Shadow(⊙o⊙)9 分钟前
进程间通信0.0-pipe()匿名管道,详细分析进程池调度队列执行逻辑,进程池模拟实现。
linux·运维·服务器·开发语言·c++
指尖的爷16 分钟前
C++头文件的作用
开发语言·c++
keykey6.17 分钟前
反向传播与梯度下降:神经网络如何学习
开发语言·人工智能·深度学习·机器学习
Jun62623 分钟前
QT(5)-第三方日志系统
开发语言·数据库·qt
冰暮流星26 分钟前
javascript建立对象之构造函数
开发语言·javascript·ecmascript
keykey6.33 分钟前
PyTorch 入门实战:从张量到训练循环
开发语言·人工智能·深度学习·机器学习
csdn_aspnet36 分钟前
C# 使用linq给List某个属性值赋值
c#·list·linq
消失的旧时光-194337 分钟前
Kotlin 协程设计思想(七):为什么 Kotlin 要设计 SupervisorJob 和 supervisorScope?
android·开发语言·kotlin
Full Stack Developme40 分钟前
SpringMVC multipart 文件上传
java·开发语言