| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 379 人关注过本帖
标题:关于属性的问题(有代码)
只看楼主 加入收藏
隐隐很作痛
Rank: 2
等 级:论坛游民
帖 子:24
专家分:15
注 册:2010-11-1
结帖率:75%
收藏
已结贴  问题点数:13 回复次数:2 
关于属性的问题(有代码)
题目要求 定义一个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;
}
}
}
搜索更多相关主题的帖子: 圆面积 
2011-05-11 22:20
fily1314
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1190
注 册:2007-7-18
收藏
得分:5 
_centerx, _centery, _r=0这几个定义成私有变量,
而用几个属性来访问这几个变量,是为了防止从类外部之间访问那些变量,
它不影响你的计算,只是控制访问
2011-05-13 13:09
Snow_Pu
Rank: 2
等 级:论坛游民
帖 子:27
专家分:45
注 册:2011-5-11
收藏
得分:8 
这么给你说,
private double _r;
public double r
{
get{return _r;}
}
此时_r是只读的,外界是不能给_r赋值的
当然你如果只写入set,外界是只能给_r赋值,而不能使用它的

2011-05-13 13:32
快速回复:关于属性的问题(有代码)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018329 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved