将圆心设置为点类的值

时间:2019-03-27 22:40:32

标签: c# class geometry point

我需要使圆环类的中心定义为Point类型,但是我没有一个概念来设置中心值,显示中心值(在控制台中写入每个圆数据),然后随心所欲地对其进行处理。 / p>

我有这样的东西:

namespace Circle
{
    class Program
    {
        class Point
        {
            private float x, y;

            public Point()
            {
                x = 3.14f;
                y = 3.14f;
            }

            public Point(float a, float b)
            {
                x = a;
                y = b;
            }

            public float X
            {
                get { return x; }
                set { x = value; }
            }

            public float Y
            {
                get { return y; }
                set { y = value; }
            }

            public void Show()
            {
                Console.WriteLine("X = {0}, Y = {1}", x, y);
            }
        }

        class Circle
        {
            private Point center;
            private float radius;

            public Circle(Point s = null, float r = 1)
            {
                if (s == null) center = new Point(0,0);
                radius = r;
            }

            public float Ra
            {
                get { return radius; }
                set { radius = value; }
            }

            public Point Ce
            {
                get { return center; }
                set { center = value; }
            }

        }

            static void Main(string[] args)
        {
            Point p;
            p = new Point();
            p.X = 1;
            p.Y = 1;

            Circle k;
            k = new Circle();
            k.Ce = p;
            k.Ra = 19;
            Console.WriteLine("center = {0}, radius = {1}", k.Ce, k.Ra);

            Console.ReadKey();
        }
    }
}

目前,程序已编译但显示了奇怪的内容(Center = Circle.Program + Point)。

PS。我需要将private float x, y;中的Point保留为private

1 个答案:

答案 0 :(得分:0)

您要输出的对象属性是:

  

k.Ce

此属性的类型为Point,由于尚未实现.ToString(),但输出将是奇怪的,请尝试将ToString实施到您的 Point 类中,如下所示:

    public override string ToString() {
        return "X =" + x + ", Y = " + y;
    }

结果现在可读性强。