zoukankan      html  css  js  c++  java
  • C#属性和成员变量的区别?

    一个类,有时候搞不清楚到底用成员变量还是属性。
    如:
    成员变量
    public   string   Name;
    或者用属性
    private   string   name
    public   string   Name
    {
            get
            {
                    return   name;
            }
            set
            {
                    name   =   value;
            }
    }

    属性与成员变量类似,它们都提供数据存储,但属性的功能远比成员变量强大。属性由特殊方法(Get   和   Set   访问器)访问。Get   和   Set   访问器允许在设置或检索属性之后验证属性值、执行其他代码或执行其他任务

    例如

    成员变量这样写
    public   readonly   string   Name;
    那还是可以是只读了

    private   string   name
    public   string   Name
    {
            get
            {
                    return   name;
            }
           
    }

    面向对象的编程方法是要抽象、封装;在类中,定义的变量是正对类本身而言,我们把它们叫做域。它可以为public   ,private等;属性是针对外部看到的类的特性,是类展示给外部使用者的特性。前面我们讲到了域可以为public,但这样把域申明为public将 不利于类的封装,因为外部使用者可以对类进行直接修改。所以我们就可以用到属性,我们只是公开它们的属性,至于如何对其进行赋值(set)如何进行取值 (get)都已经进行了封装,对于类外部是不可见的。对于外部使用者来说只能够使用它,不能控制它,如何控制操作是由类自身决定的。你理解了吗?

    如果这篇文章对您有帮助,您可以打赏我

    技术交流QQ群:15129679

  • 相关阅读:
    NOKIA自己掌控的新的智能手机系统ASHA
    NOKIA自己掌控的新的智能手机系统ASHA
    双系统启动菜单修复工具(NTBootAutofix)v2.5.7 绿色版
    双系统启动菜单修复工具(NTBootAutofix)v2.5.7 绿色版
    如何用ghost安装双系统(WinXP+Win7)
    摄影还能这么玩!Jamie Beck创意GIF摄影
    线程知识结构概览
    window多线程操作文件
    多线程内存的表现形式
    进程的调度的理解
  • 原文地址:https://www.cnblogs.com/yeminglong/p/2442478.html
Copyright © 2011-2022 走看看