繁体   English   中英

C#如何在子类中使用父类属性

[英]C# how to use the Parent class property in child class

我有以下具有父类 Shapes 属性的类,它具有属性 Radius 并且我正在将此属性访问到其子类(HeaxGon)中,但它在子类中出现错误(预期获取或设置访问器)

请指教。

class Shapes
{
    int _radius;

    public int Radius
    {
        get { return _radius; }
        set { _radius = value; }
    }
}

class HeaxGon:Shapes
{
    int points;
    public void SetRadius
    {
        **Radius=20;**
    }
}

我猜你正在尝试创建一个名为SetRadius的函数,在这种情况下,它应该是这样的:

public void SetRadius(int radius)
{
    this.Radius = radius;
}

或者,如果您真的想在所有情况下将其设置为20

public void SetRadius()
{
    this.Radius = 20;
}

你写的不好,它应该是这样的:

class Shapes
{
    int _radius;

    public int Radius
    {
        get { return _radius; }
        set { _radius = value; }
    }
}


class HeaxGon:Shapes
{
    int points;

    public void SetRadius()
    {
        Radius=20;
    }
}

没有必要像其他人建议的那样称呼“这个”。

或者简单地使用您已经在基类中公开的属性

HeaxGon hg = new HeaxGon();
hg.Radius = 20;

这将调用您在基类 (Shapes) 中指定的 setter。

使_radius受保护,然后在子类中简单地调用this.Radius 所以:

public class Shape
{
    protected int _radius;

    public int Radius
    {
        get { return _radius; }
        set { _radius = value; }
    }
}

public class Hexagon : Shape
{
    int _points;

    public void SetRadius(int radius)
    {
        this.Radius = radius;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM