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

​​​​​​​

相关推荐
废弃的小码农14 分钟前
功能测试--Day07--Python编程基础
开发语言·python
fengci.42 分钟前
Microweber CMS 未授权路径穿越漏洞(CVE-2026-65694)
android·开发语言·前端·学习·php
程序员zgh1 小时前
C++ 拷贝赋值运算符 详解
c语言·开发语言·c++
念何架构之路1 小时前
restartmanager-重启管理子系统
java·开发语言
SomeB1oody2 小时前
【RustyML入门】2.0. 经典机器学习
开发语言·后端·机器学习·rust·教程
0566463 小时前
Python高级——解释器执行原理与虚拟环境工程化实战
开发语言·python
HJX_07244 小时前
嵌入式软件C语言八股文复习笔记5——编译、链接与底层硬核机制
c语言·开发语言·笔记
An_s4 小时前
rust(pdfium)底层开发实现wasm包给vue3调用
开发语言·rust·wasm
笨鸟先飞的橘猫4 小时前
c++面向对象编程
开发语言·c++
小玮看世界4 小时前
[Python]自动驾驶感知与决策练习题 (1-10)
开发语言·python·自动驾驶