黑马程序员技术交流社区

标题: 属性的区别 [打印本页]

作者: §風過無痕§    时间: 2013-8-8 08:33
标题: 属性的区别
本帖最后由 §風過無痕§ 于 2013-8-8 22:27 编辑

C#编程中的属性  与我们在电脑上鼠标右击某个文件或文件夹而出来的属性有啥联系吗?   它们的区别是:?


作者: 马晓凤    时间: 2013-8-8 08:52
没有什么直接联系,c#是一门语言,它的属性是描述类的某些静态特征的;而我们平时右击得到的属性是属于所点击文件的特征的
公共点:都是描述相关事物特征的
作者: 张松    时间: 2013-8-8 15:55
没有什么关系,c#通过属性特性读取和写入字段,而不直接读取和写入,以此来提供对类中字段的保护
按可以访问的类型分为三种不同的类型:
一.读/写属性
读/写属性是一个具有get()和set()访问器的属性
  语法:  [访问修饰符] 数据类型 属性
{
get{ };
set{ };
}
二.只读属性
    仅具有get()访问器属性称为只读属性.
语法: [访问修饰符] 数据类型 属性名
{
get{ };
}
三.只写属性
   仅具有set()访问器属性称为只写属性,不推荐使用只写属性.
语法: [访问修饰符] 数据类型 属性名
{
set{ };
}
而属性很好的保护了字段,并且可以对输入的值进行限定,如下例子就对年龄字段进行了限制:
public class Person
    {
        string _name;
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        int _age;
        public int Age
        {
            get { return _age; }
            set
            {
                if (value < 0 || value > 100)
                {
                    _age = 0;
                }
                _age = value;           
            }
        }
    }






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2