您的位置:澳门新葡8455最新网站 > 编程教学 > 类域成员和属性,重点知识详解

类域成员和属性,重点知识详解

发布时间:2019-12-31 04:26编辑:编程教学浏览(59)

    • 域成员是接收具备公共访谈性的分子变量来促成的,使用较为轻巧方便。
    • 天性通过存取标记来拜会,隐蔽了得以完结的内部景况,作用强大。

    第三章: 类属性
    应用过RAD开辟工具的自然inspector很纯熟,程序猿通过它能够操作对象的性质,DELPHI中引进了PUBLISH关键字来揭橥对象属性受到程序员的宽广招待.通过存取标识来寻访private成员,在c#中有三种渠道揭示类的命名属性——通过域成员要么经过质量。前边四个是充当具备公共访谈性的分子变量而被实现的;前面一个并不直接回答存款和储蓄地点,只是透过存取标记(accessors卡塔尔国被访谈。当您想读出或写入属性的值时,存取标志节制了被达成的言语。用于读出属性的值的存取标识记为关键字get,而要改过属性的值的读写符标记记为set。


    类属性

    域成员

    只能读 get
    只能写 set
    可读可写 set/get

    C# 成员变量能够能够在宣称时间接赋值。

    请看例子:

    class CFoo
    {
        public int v = 3; //成员变量
    }

    using System;

    public 不能少,用来代表存取权限,更加多学问请参见不要 const,用 readonly?和C# 可访问性等第。

    public class Test
    {
    private int m_nWrite;
    private int readonly m_nRead=100;
    private int m_nWriteRead;


    public int WRITEREAD
    {
    get {return m_nWriteRead;}
    set {m_nWriteRead=value;}
    }

    属性

    public int WRITE
    {
    set { m_nWrite = value; }
    }

    在 C# 中,属性赋值关键字是 set,再次来到属性值关键字是 get,与任何语言大概两样。

    public int READ
    {
    get {return m_nRead;}
    }

    class CSquare
    {
        private int pvtWidth = 0;
       
        public int Width
        {
            set
            {
                pvtWidth = value; //属性赋值
            }
            get
            {
                return pvtWidth; //重临属性值
            }
        }
    }

    }

    八个 private 变量用于存款和储蓄属性值,与外边打交道的是 Width(大家将其首字母大写),属性通过 get、set、value 关键字落时间效益果与利益,以上示例使用品质跟使用域成员是肖似的,尚未浮现出品质的帮助和益处。

    class TestApp
    {
    public static void Main()
    {
    Test MyTest = new Test();
    int i=MyTest.READ; //get
    MyTest.WRITE=250; //set
    MyTest.WRITEREAD+=10000000 ; //set and get

    优点一:

    Console.WriteLine("get:{0} set:{1} set/get:{2} ",i,MyTest.WRITE,MyTest.WRITEREAD);
    }
    }

    class CSquare
    {
        private int pvtWidth = 0;
       
        public int Width
        {
            get
            {
                return pvtWidth;
            }
        }
    }

    万生机勃勃您想要隐瞒类内部存储结构的内部原因时,就应当使用存取标识。存取标记给值参数中的属性传递新值。同一时候您能够获得实今后set标记中加进有效代码的火候。

    上述示范中,假设大家总结给 Width 赋值,便相会世谬误,因为未有实现set,那就成了只读属性,相像,大家只兑现 let 就成了只写属性。

    优点二:

    class CSquare
    {
        private int pvtWidth = 0;
       
        public int Width
        {
            set
            {
                pvtWidth = (value>=0)?value:0;
            }
            get
            {
                return pvtWidth;
            }
        }
    }

    能够看看,我们在为 Width 赋值时,假若该值小于 0,则自动以 0 代替。关于标准运算符,请参见C# 语句-条件语句-条件运算符。

    本文由澳门新葡8455最新网站发布于编程教学,转载请注明出处:类域成员和属性,重点知识详解

    关键词:

上一篇:遵照假诺核准的Filter方法

下一篇:没有了