旗下导航:搜·么
当前位置:网站首页 > .Net教程 > 正文

C#进修日志27----属性【C#.Net教程】,C#,属性

作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:76评论:0


导读:属性可所以类(class)、构造(struct)、接口(interface)的定名成员,他供应天真的机制来读取、写入、或盘算私有(private)字段的值,属性可以看做是大众(p...
属性可所以 类(class)、构造(struct)、接口(interface)的定名成员,他供应天真的机制来读取、写入、或盘算私有(private)字段的值,属性可以看做是大众(public)字段的成员,但他实际上是定义了一个“接见器”的特别要领让私有字段的值可以被读写或操纵。

说的笼统点吧,比方我们定义一个person类内里有一个私有成员 private string name; 在外界我们实例化一个person对象per,请求为per起个名字,而且输出这个名字,也就是为per.name赋一个值,然后输出??经由前面的进修我们晓得,类中的private润饰的变量外界对象是接见不到的,(没法直接per.name="HC666"来搞定^_^) 因而只能在类内里定义一个public润饰的setname与getname要领将“HC666”作为参数来举行写入与输出,如许有点烦琐,这个时刻“属性”就该上台了,我们为name定义一个读写属性Name就可以填补这个不足。

“接见器”

属性的接见器包括有猎取或许设置属性的可实行语句,接见器的声明可包括一个get接见器(示意只读),或许一个set接见器(示意只写),或许两个同时包括(示意可读可写)。(上面的例子中我们运用get接见器输出name,运用set接见器写入)

定义属性:

上面的例子中我们可以为name 定义一个读写属性Name,运用外界对象可以接见的public润饰符

private string name;     //声明name变量
         public string Name     //声明变量的属性,读写
            {  
               get { return name;  }   //定义读接见器,实在就是一个要领
                           set { name = value;  }  //定义写接见器,set 要领有一个隐含的参数value
             }

再定义一个只读属性吧,比方我们的岁数 age 是牢固的只读

 private uint age=10;  //声明变量 age
        private string Age     //声明变量的属性,只读
            {  
               get { return age;  }   //读接见器
             }

属性的实例:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test1  
{  
    class person  
    {  //定义变量name,而且为name定义一个读写属性  
        private string name;  
        //定义属性  
        public string Name  
        {//接见器  
            get { return name; }  
            set { name = value; } //set自带一个value参数  
        }  
        //定义变量age,而且为age定义一个只读属性  
        private uint age=10;  
        public uint Age  
        {  
            get { return age; }  
        }  
    }  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            person per = new person();  
            per.Name = "HC666";  //实行写入属性  
            Console.WriteLine("我的名字叫:{0}\t本年 {1} 岁了",per.Name,per.Age); //读属性  
        }  
    }  
}

效果:

笼统属性:

前面也说了,属性可以使类、构造、接口的成员,天然也可所以笼统类的笼统属性了,笼统属性同笼统要领一样在派生类中被完成。

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test1  
{//定义一个person笼统类  
    abstract class person  
    {//定义笼统属性  
        public abstract string Name  
        {//读写  
            get;  
            set;  
        }  
        public abstract uint Age  
        {//只读  
            get;  
        }  
  
    }  
    //定义派生类  
    class student : person  
    {  
        private string name;  
        private uint age=10;  
        //完成笼统属性  
        public override string Name  
        {  
            get  
            {  
                return name ;  
            }  
            set  
            {  
                name=value;  
            }  
        }  
        public override uint Age  
        {  
            get { return age; }  
        }  
    }  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            student stu = new student();  
            stu.Name = "HC666";  //实行写入属性  
            Console.WriteLine("我的名字叫:{0}\t本年 {1} 岁了",stu.Name,stu.Age); //读属性  
        }  
    }  
}

效果与上一个例子是一样的。

以上就是 C#进修日志27----属性的内容,更多相关内容请关注ki4网(www.ki4.cn)!

标签:C#属性


欢迎 发表评论: