| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 363 人关注过本帖
标题:关于属性的问题(有代码)
只看楼主 加入收藏
隐隐很作痛
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
vxbb
Rank: 6Rank: 6
等 级:侠之大者
帖 子:163
专家分:440
注 册:2008-8-18
收藏
得分:13 

得看你的属性要干什么了。下面这个是自定义控件的标题属性
给它赋值的时候,要重新计算标题矩形框的大小、控件大小再通知父控件重新排版……
这样看和字段还能一样吗?

程序代码:
        public string Caption
        {
            get
            {
                return this.caption;
            }
            set
            {
                this.caption = value;
                this.BufferRefresh();//这里完成标题矩形框的大小、控件大小
                base.Invalidate();//控件重绘
                if ((!this.parentBufferRegionUpdated && !Utils.DesignTime) && (base.Parent is UICanvasPanel))
                {
                    this.UpdateParentBufferRegion();//通知父控件重新布局
                }
            }
        }



QQ:491697374  Mail:vxbb@
2011-05-11 23:46
lwsfyts
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:132
注 册:2011-4-3
收藏
得分:0 
属性是类的封装性的体现
2011-05-12 07:17
快速回复:关于属性的问题(有代码)
数据加载中...
 
   



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

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