演示类的数据成员
使用嵌套类型计算圆面上点到圆心的距离
using System;
class Circle
{
//定义私有常量和字段
private const float pi = 3.14F, x0 = 0, y0 = 0;
private float r;
private float x, y;
//定义属性R
public float R
{
get
{
return r;
}
set
{
if (value < 0)
r = 0;
else
r = value;
}
}
//定义只读属性L
public float L
{
get
{
return 2 * pi * r;
}
}
}
class TestClassMember
{
static void Main()
{
Circle c = new Circle();
Console.Write("圆半径:");
c.R = Convert.ToSingle(Console.ReadLine()); //数据最终保存在字段r中
float l = c.L;
Console.WriteLine("圆的周长为:{0}",l);
}
}
使用嵌套类型计算圆面上点到圆心的距离
using System;
class Circle
{
//定义私有常量和字段
private const float pi = 3.14F,x0=0,y0=0;
private float r;
//定义属性R
public float R
{
get
{
return r;
}
set
{
if (value < 0)
r = 0;
else
r = value;
}
}
//使用嵌套类来计算圆面上的点到圆心的距离
public double PointDistance(float x,float y)
{
if (x > R || y > R) return 0;
Point p = new Point(x, y); //嵌套类实例化
return p.Distance(); //调用嵌套类的方法成员
}
//嵌套类,默认为private,只能被包含类Circle使用
class Point
{
private float X;
private float Y;
//构造函数
public Point(float x, float y)
{
X=x;
Y=y;
}
//计算圆面上的点到圆心的距离
public double Distance()
{
return Math.Sqrt(X*X+Y*Y);
}
}
}
//在TestClassMember类不能使用包含在Circle中的嵌套类Point
class TestClassMember
{
static void Main()
{
Circle c = new Circle();
Console.Write("圆半径:");
c.R = Convert.ToSingle(Console.ReadLine());
Console.WriteLine("请输入圆面上的点的坐标:");
float x = Convert.ToSingle(Console.ReadLine());
float y = Convert.ToSingle(Console.ReadLine());
float d = (float)c.PointDistance(x, y);
if (d != 0 && d<=c.R)
Console.WriteLine("该点离圆心的距离为:{0}", d);
else
Console.WriteLine("该点不是圆面上的点。");
}
}