【问题标题】:Polymorphism Trouble C Sharp Part 2 >.<多态性问题 C Sharp 第 2 部分 >.<
【发布时间】:2010-12-26 02:01:17
【问题描述】:

我试图使用这种方法来制作我的角色,但我得到了错误: 可访问性不一致:返回类型“consoleapplication1.Enemigo”的可访问性低于 方法'consoleapplication1.poringbuilder.makeporing()' 这是我第一次遇到这个错误,我真的不知道该怎么办,我尝试了很多不同的方法,但我得到了同样的错误请帮助>.

这是另一个类 命名空间 ConsoleApplication1 { 类 Enemigo:Personaje { public Enemigo(int Damage, int Defensa, int HP,int MP, bool Evade, bool Counter, string Nombre) :基础(伤害,防御,HP,MP,闪避,反击,名词) { } } }

这是我所有班级的父母 命名空间 ConsoleApplication1 { 类人物 { 公共 int 损害; public int Defensa;

    public int HP;

    public int MP;
    public bool Evade;
    public bool Counter;
    public string Nombre;
    //public Personaje() { }
    public Personaje(int Damage, int Defensa, int HP,int MP, bool Evade, bool Counter, string Nombre)
    {
        this.Damage = Damage;
        this.Defensa = Defensa;
        this.HP = HP;
        this.MP = MP;
        this.Evade = Evade;
        this.Counter = Counter;
        this.Nombre = Nombre;
    }
}

}

我像这样在主程序上使用它 列出 EnemigosNoob = new List(); EnemigosNoob.Add(PoringBuilder.MakePoring());

我希望我足够精确>.

【问题讨论】:

  • 您可以使用 101010 按钮将文本格式化为代码。
  • 我对您的问题感到困惑,但您似乎在做构造函数重载。您的空白和默认构造函数没有任何主体,这意味着您将其声明为抽象或给它空白主体,所以只需输入 {},它应该可以工作。

标签: c# polymorphism


【解决方案1】:

由于您并没有真正向 Enemigo 类添加任何内容,因此我会选择工厂方法之类的东西。子类化通常适用于您想要向某事物添加行为的情况。

公共静态类 PoringBuilder { 公共静态 Enemigo MakePoring() { return new Enemigo(30, 10, 0, false, false, 15, "Poring"); } }

并称它为:

EnemigosNoob.Add(PoringBuilder.MakePoring());

【讨论】:

  • 哇,这就是我所需要的,非常感谢您
【解决方案2】:

Poring() 是您的默认构造函数。您至少需要使用一个无所事事的主体来声明它:

public Poring()
{
}

如果需要,您可以在正文中执行默认初始化,但最好按照 Anon 的回答链接到另一个构造函数来处理。不过,无论哪种情况,您都必须拥有这两个大括号 { } 才能形成一个主体。

【讨论】:

    【解决方案3】:
    public Poring() : this(/*your default values here*/) {}
    

    另外,对于您的其他构造函数...为什么要覆盖传入的值?

    【讨论】:

    • 好吧,我想说我会有大约 10 个字符,每个人都有不同的状态,但我想我明白了,非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多