访问类内和类外的属性

问题描述 投票:0回答:1

带有一些树对象的主要方法:

namespace Forest
{
    class Program
    {
        static void Main(string[] args)
        {
            Tree Fir = new Tree();
            Fir.species = "Fir";
            Fir.height = 100.0;
            Fir.trunkDiameter = 10.0;

            Tree Oak = new Tree();
            Oak.species = "Oak";
            Oak.height = 120.0;
            Fir.trunkDiameter = 12.5;
        }
    }
}

树类:

namespace Forest
{
    class Tree
    {
        public string species;
        public double height;
        public double trunkDiameter;
    }
}

我想这样添加属性:public double trunkCircumference = trunkDiameter * 3.14但是当我这样做时,trunkDiameter变量无法识别。添加静态修饰符时,它可以修复,但是我无法访问trunkDiameter。

我只想添加一个trunkCircumference属性。

c# access levels
1个回答
0
投票

由于trunkCircumference似乎总是返回trunkDiameter * 3.14,因此可以将其定义为属性,而不是字段。

namespace Forest
{
    class Tree
    {
        public string species;
        public double height;
        public double trunkDiameter;

        public double trunkCircumference
        {
            get => return trunkDiameter * 3.14;
        }

    }
}
© www.soinside.com 2019 - 2024. All rights reserved.