gpt4 book ai didi

c# - C# 中的继承和使用覆盖函数 Y() 调用 base.X()

转载 作者:太空狗 更新时间:2023-10-29 23:58:40 24 4
gpt4 key购买 nike

我需要了解一些有关 C# 中的继承的知识。我有一个如下所示的类:

Class BaseClass
{
public void X()
{
//Some code here
Y();
}

public void Y()
{
//Some code here
}
}

现在我想创建另一个派生自 BaseClass 的类 (ChildClass)。问题是我想以某种方式覆盖 ChildClass 中的 Y() 函数,并且在调用 base.X() 函数时,我希望 X() 函数使用 ChildClass 中覆盖的 Y() 函数。

有人建议我在覆盖时为 Y 函数使用“delegate”关键字。但是,我不太确定这是否会奏效。

这可能吗?有什么建议吗?

最佳答案

class BaseClass
{
public void X()
{
// Some code here
Y();
}

public virtual void Y()
{
// Some code here
}
}

class ChildClass : BaseClass
{
public override void Y()
{
// Some code here
}
}

如果在某些时候你想在 ChildClass 中调用 Y()BaseClass 实现,你可以这样做:

class ChildClass : BaseClass
{
public override void Y()
{
// Some code here
base.Y();
}
}

关于c# - C# 中的继承和使用覆盖函数 Y() 调用 base.X(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1163754/

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