C#中属性和成员变量的区别说明

时间:2022-02-17 22:36:57 

一个类,有时候搞不清楚到底用成员变量还是属性。
如:
成员变量
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)都已经进行了封装,对于类外部是不可见的。对于外部使用者来说只能够使用它,不能控制它,如何控制操作是由类自身决定的。你理解了吗?

标签:成员变量,属性,C#
0
投稿

猜你喜欢

  • c# 值类型实例构造器

    2023-12-23 16:10:10
  • Lombok基本注解之@SneakyThrows的作用

    2021-12-24 15:30:47
  • C#面向对象设计原则之接口隔离原则

    2022-07-22 21:02:58
  • 详解idea maven nexus 常见命令配置

    2021-06-07 18:29:03
  • Android6.0开发中屏幕旋转原理与流程分析

    2023-06-22 19:21:23
  • Android 读取资源文件实例详解

    2022-08-28 13:31:17
  • spring boot security设置忽略地址不生效的解决

    2022-06-07 16:37:30
  • Winform下实现图片切换特效的方法

    2023-04-20 21:26:28
  • spring boot 全局异常处理方法汇总

    2021-07-06 22:44:04
  • Springboot动态切换数据源的具体实现与原理分析

    2022-11-24 13:45:26
  • Java开发利器之Guava Cache的使用教程

    2022-03-20 19:22:02
  • Java网络编程实例——简单模拟在线聊天

    2023-08-20 04:39:42
  • Java Web学习之Cookie和Session的深入理解

    2022-10-28 14:47:10
  • Java实现简易Web服务器

    2023-11-17 09:10:11
  • Spring Boot插件spring tool suite安装及使用详解

    2021-12-15 03:29:23
  • Spring Cloud Gateway去掉url前缀

    2023-06-05 00:54:38
  • 解决Java中的java.io.IOException: Broken pipe问题

    2022-01-24 00:40:34
  • java中BigDecimal和0比较的示例代码

    2022-07-05 04:58:18
  • C#检测是否有u盘插入的方法

    2023-11-19 13:11:00
  • spring-boot整合ehcache实现缓存机制的方法

    2023-06-18 20:05:10
  • asp之家 软件编程 m.aspxhome.com