关于属性的问题(有代码)
题目要求 定义一个circle类,它包含两个属性,即圆心属性和半径属性:两个方法,即计算圆周长和圆面积。同时设计测试类,以测试circle类的有效性! 代码如下:
我不明白的是我自己把属性定义的那部分去掉以后,结果和不去掉的一样 ,那为什么还要定义属性呢?
这样有什么好处?
还有定义属性的时候为什么要定义 _centerx, _centery, _r=0呢?
只定义 centerx, centery, r=0不行吗?
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
circle cir = new circle();
cir.centerx = 1;
cir.centery = 2;
Console.WriteLine("请输入圆的半径:");
cir.r = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("圆的周长为:"+ Convert.ToString( cir.girth()));
Console.WriteLine("圆的面积为:" + Convert.ToString(cir.area()));
Console.ReadLine();
}
}
class circle
{
private double _centerx, _centery, _r=0;
/// <summary>
/// 圆心的x坐标属性
/// </summary>
public double centerx
{
get { return _centerx; }
set { _centerx = value; }
}
/// <summary>
/// 圆心的y坐标属性
/// </summary>
public double centery
{
get { return _centery; }
set { _centery = value; }
}
/// <summary>
/// 园的半径
/// </summary>
public double r
{
get { return _r; }
set { _r = value; }
}
/// <summary>
/// 计算周长的方法
/// </summary>
/// <returns></returns>
public double girth()
{
return 2 * Math.PI * _r;
}
/// <summary>
/// 计算面积的方法
/// </summary>
/// <returns></returns>
public double area()
{
return Math.PI * _r * _r;
}
}
}