gpt4 book ai didi

c# - 一个抽象类继承另一个抽象类的问题

转载 作者:太空狗 更新时间:2023-10-29 22:03:07 25 4
gpt4 key购买 nike

我有一个如下的继承模式:

public abstract class BaseAttachment
{
public abstract string GetName();
}

public abstract class BaseFileAttachment:BaseAttachment
{
public abstract string GetName();
}

public class ExchangeFileAttachment:BaseFileAttachment
{
string name;
public override string GetName()
{
return name;
}
}

我基本上想调用 ExchangeFileAttachment 类的 GetName() 方法;然而,上述声明是错误的。对此的任何帮助表示赞赏。谢谢

最佳答案

我看到的两个直接问题是您的最终 ExchangeFileAttachment 类被声明为 abstract,因此您永远无法实例化它。除非你有另一个层次的继承,否则你不会向我们展示,调用它是不可能的——没有办法访问它。另一个问题是 BaseFileAttachment 有一个属性将 GetName() 隐藏在 BaseAttachment 中。在您向我们展示的结构中,它是多余的,可以省略。因此,“更正后”的代码看起来更像是:

public abstract class BaseAttachment
{
public abstract string GetName();
}

public abstract class BaseFileAttachment : BaseAttachment
{
}

public class ExchangeFileAttachment : BaseFileAttachment
{
string name;
public override string GetName()
{
return name;
}
}

我在引号中进行了更正,因为这个用例仍然没有多大意义,所以我希望你能提供更多信息,或者这对你来说更有意义。

关于c# - 一个抽象类继承另一个抽象类的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13592118/

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