網站首頁 編程語言 正文
一、簡介
override意思是重寫。它是在子類中重寫父類中的方法,兩個函數的函數特征(函數名、參數類型與個數)相同,用于拓展或修改繼承的方法、屬性、索引器或事件的抽象或虛擬實現,提供從基類繼承的成員的新實現,而通過override聲明重寫的方法稱為基方法。
二、重寫抽象方法
class Program
{
public abstract class A
{
public abstract void Func();
}
public class B : A
{
public override void Func()
{
Console.WriteLine("B");
}
}
static void Main(string[] args)
{
B b = new B();
}
}
三、重寫虛方法
class Program
{
public class A
{
public virtual void Func()
{
Console.WriteLine("A");
}
}
public class B : A
{
public override void Func()
{
Console.WriteLine("B");
}
}
static void Main(string[] args)
{
B b = new B();
b.Func();
}
}
四、總結
1.重寫基方法必須具有與override方法相同的簽名。
2.override聲明不能更改virtual方法的可訪問性,且override方法與virtual方法必須具有相同級別訪問修飾符。
3.不能用new、static、virtual修飾符修飾override方法。
4.重寫屬性聲明必須指定與繼承的屬性完全相同的訪問修飾符、類型和名稱。
5.重寫的屬性必須是virtual、abstract或override。
6.不能重寫非虛方法或靜態方法。
7.父類中有abstract,那么子類同名方法必定有override;若父類中有virtual方法,子類同名方法不一定是override。
8.override必定有父子類關系。
原文鏈接:https://www.cnblogs.com/wml-it/p/14798649.html
相關推薦
- 2022-09-09 PyCharm?設置數據庫,查詢數據庫語句方式_python
- 2022-04-03 Python?Flask?+?Redis?程序練習_python
- 2022-10-05 淺談Qt信號槽與事件循環的關系_C 語言
- 2022-05-22 xampp安裝后Apache無法啟動解決辦法_Linux
- 2022-10-02 C/C++寬窄字符轉換與輸出的多種實現方法_C 語言
- 2023-10-17 關于for循環遍歷不同表單校驗的bug(需要多次校驗)
- 2022-12-05 Python?如何截取字符函數_python
- 2022-01-20 淺談關于 && , || , ? : , ?? , ?. 的運算方式以及用法
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支