首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#教程-继承和定义类型?

C#教程-继承和定义类型?
EN

Stack Overflow用户
提问于 2016-04-27 13:22:57
回答 4查看 617关注 0票数 0

通过本教程网络学院练习5.1,我已经尝试了许多不同的方法来解决这个问题,当我试图验证时,它是行不通的。我试过这个:

代码语言:javascript
复制
public class Atom
{
    public Atom()
    {

    }

    public Atom(int protons, int electrons)
    {
        Protons = protons;

        Electrons = electrons;
    }

    public int Protons { get; set; }

    public int Electrons { get; set; }
}


public class Program
{
    public static void Main(string[] args)
    {
    var Hydrogen = new Atom(1,2);
    }
}

我说“你必须定义一种名为氢的类型”,但我认为这就是氢的作用。

我也试过这个:

代码语言:javascript
复制
public class Atom
{

    public Atom(int protons, int electrons)
    {
        Protons = protons;

        Electrons = electrons;
    }

    public int Protons { get; set; }

    public int Electrons { get; set; }

}

public class Hydrogen : Atom
{
    public Hydrogen() : base("Atom") {}
}

public class Program
{
    public static void Main()
    {
    }
}

而这个不能编译。在“公共氢():base("Atom")”一行出现了一个错误,即“给定与'Atom.Atom(int,int)‘的形式参数’质子‘相对应的参数,不存在任何参数。”

我甚至问过一个C#开发人员,他不知道为什么我的尝试不起作用。有人能帮忙吗?我刚刚掌握了这些概念的诀窍,现在我被困住了。

谢谢!

编辑:为了给出该链接的完整上下文,他们使用以下代码启动嵌入式验证器:

代码语言:javascript
复制
public class Atom
{
    public int Protons { get; set; }

    public int Electrons { get; set; }
}

public class Program
{
    public static void Main()
    {

    }
}

说明如下:

  1. 在基本类型Atom上创建一个构造函数,它接受一个名为质子的整数和一个整数电子。构造函数应该将值设置为相关的属性、质子和电子。
  2. 实现从Atom继承的派生类型氢,并向基本构造函数提供正确的质子和电子参数。

我没有在论坛上发帖寻求帮助,因为我一直在研究我的方法,并试图找出这一点,但我想知道,他们是否只是严格“如何”,他们希望它解决,无论你是否可以解决许多不同的方法。我只想看看他们想让我们怎么解决它!LOL

再次感谢!

EN

回答 4

Stack Overflow用户

发布于 2016-04-27 13:25:18

给定与'Atom.Atom(int,int)的形式参数‘质子’相对应的参数,这是没有争议的。

这是基类的构造函数:

代码语言:javascript
复制
public Atom(int protons, int electrons)

但是在派生类中,您试图使用以下内容:

代码语言:javascript
复制
base("Atom")

也就是说,您提供的是string值,而不是两个int值。相反,提供int值:

代码语言:javascript
复制
public class Hydrogen : Atom
{
    public Hydrogen() : base(1, 1) {}
}
票数 1
EN

Stack Overflow用户

发布于 2016-04-27 13:49:11

我想出来了!谢谢你的帮助大卫!以下是最终代码:

代码语言:javascript
复制
public class Atom
{

    public Atom(int protons, int electrons)
    {
        Protons = protons;
        Electrons = electrons;
    }

    public int Protons { get; set; }

    public int Electrons { get; set; }
}


public class Hydrogen : Atom
{
    public Hydrogen() : base(1, 1) {}
}

public class Program
{
    public static void Main()
    {
    var Nucleus = new Hydrogen();
    }
}
票数 0
EN

Stack Overflow用户

发布于 2016-05-12 19:07:32

此代码运行良好:

代码语言:javascript
复制
public class Atom
{
    public int Protons { get; set; }

    public int Electrons { get; set; }

    public Atom(int protons, int electrons)
    {
        Protons = protons;
        Electrons = electrons;
    }
}

public class Hydrogen : Atom
{
    public Hydrogen() : base(1, 1)
    {
    }
}

public class Program
{
    public static void Main()
    {
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36891127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档