gpt4 book ai didi

c# - 覆盖方法中访问修饰符的作用是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:19 25 4
gpt4 key购买 nike

为什么在C#中,如果不进行更改,我需要指定要覆盖的方法的访问修饰符?在这种情况下根本不指定任何访问修饰符会更简单,更合乎逻辑吗?

(只是澄清一下:我之所以写这个问题,并不是因为我认为自己比语言设计师更聪明,而是因为我确定他们有一个很好的理由使我尚无法理解。)

编辑:我不是在问为什么我们不能更改访问修饰符,而是在问为什么我们必须冗余地指定它。

最佳答案

为了说明乔恩在代码中的观点,请考虑以下几点:

class LevelOne
{
public virtual void SayHi()
{
Console.WriteLine("Hi!");
}
}
class LevelTwo : LevelOne
{
override void SayHi()
{
Console.WriteLine("Hi!");
}
}
class LevelThree : LevelTwo
{
override void SayHi()
{
Console.WriteLine("Hi!");
}
}


广告无限。现在,假设您处于n深度的派生类中,则必须一直遵循继承层次结构,回到原始基类,以找出方法的访问修饰符。简直太烦人了!

关于c# - 覆盖方法中访问修饰符的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15664490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com