在定义一个类时,需要定义类的属性。属性经常与字段连用,这里先说一下字段与属性的联系与区别。

一、字段与属性

1、关于字段:

  • 字段即使指类中的成员变量,一般在类的内部作数据交互使用,其修饰符一般为private。
  • 字段的命名方法:首单词首字母小写,之后的单词首字母大写

2.关于属性

  • 属性在面向对象,外界访问私有字段的入口。属性本身不保存任何数据,对属性的操作实际上是对属性所对应的字段进行操作。
  • 属性的命名方法:所有单词的首字母大写。

例如:以下对Book属性的定义中,id 和 name都是字段,用于类的内部数据交互,使用get,set语句定义了属性Id和Name,属性可以通过在类的实例化后进行对字段进行操作。


namespace code_1
{class Book{private int id;     //这个是字段private string name;  //这个是字段public int Id     //设置图书编号属性{get{return id;}set{id = value;}}public string Name    //设置图书名称属性(只读){get{return name;}}}
}

二、定义属性

语法

public    数据类型    属性名
{
    get
    {
        获取属性的语句块;
        return 值;
    }
    set
    {
        设置属性得到语句块;
    }
}

1、get{}访问器:用于获取字段的值,需要使用return返回字段的值。在面向对象设计中,对应的是字段内容的读取。

2、set{}访问器:用于设定字段的值,需要使用一个特殊的值,这个值就是在面向对象设计中,对字段设置的值。

三、get和set的简化写法

语法

public    数据类型    属性名{get;set;}

第一小节中的示例代码可简化为

namespace code_1
{class Book{private int id;     //这个是字段private string name;  //这个是字段public int Id{get; set;}public string Name{get;}}
}

【C#基础】get和set相关推荐

  1. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

  2. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...

  3. java mybatis基础

    java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...

  4. 【J2SE】学习基础

    Java基础 语法基础 OO Exception Array 基础类 I/O Stream Collection/Generic Thread TCP/UDP GUI Meta Data Regula ...

  5. 【Linux系统】基础总结

    我不太清楚运维部门具体是做什么的,就接触过一点点运维部门! 也就是是知道他们负责管理服务器,管理网络,管理项目部署 偶尔自己需要部署,不得不接触一些linux命令.简单总结一些基础 linux系统发展 ...

  6. 【Java 2 Platform Enterprise Edition】基础

    问题1:为什么java是无关平台? 你之前用C或者C++写的源代码,编译好后,换一种操作系统,可能就执行不了了.因为新的操作系统不识别,你需要修改你的源码,并在新的操作系统上重新编译才能运行,比如Wi ...

  7. SpringCloud Alibaba微服务实战(一) - 基础环境搭建

    说在前面 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来 ...

  8. Redis概述和基础

    Redis 1.NoSQL NoSQL = Not Only SQL(不仅仅是SQL) 泛指非关系型数据库的,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的 ...

  9. pass基础架构分析

    pass基础架构分析 Relay 和 TVM IR,包含一系列优化passes,可提高模型的性能指标,如平均推理,内存占用,或特定设备的功耗.有一套标准优化,及特定机器学习的优化,包括常量折叠,死代码 ...

  10. LLVM编译器基础架构与DragonEgg示例

    LLVM编译器基础架构与DragonEgg示例 LLVM 概述 LLVM 项目是模块化和可重用的编译器和工具链技术的集合.LLVM 与传统的虚拟机几乎没有关系."LLVM"这个名字 ...

最新文章

  1. nVidia多显卡多GPU在Linux下的超频设置
  2. python中import numpy_Python开发:NumPy学习(一)ndarray数组
  3. Python数据清理之解析XLRD文件
  4. python urllib发送post请求_python爬虫 urllib模块发起post请求过程解析
  5. 基于Java+SpringBoot+vue+element实现扶贫助农政策平台系统
  6. 解决Navicat连接MySQL总是报错1251的方法
  7. Microsoft Office 2016 简体中文 Vol 版镜像下载
  8. IDEA 各版本下载地址
  9. 江苏计算机等级考试二级office题库,2020年江苏省计算机二级Office考试易考套餐:二级MS Office高级应用全程班(网课+题库)...
  10. 微信自动回复机器人使用教程
  11. linux卸载分区命令,CentOS删除磁盘分区命令
  12. 百度脑图(kityminder)优化
  13. 林奇社区群主招募!福利福利福利!
  14. MyCat相关知识及测试要点
  15. HarmonyOS之深入解析相机的功能和使用
  16. Android开发工具系列 --Hosts映射
  17. 大学计算机基础教学大纲,大学计算机基础教学大纲
  18. iris web框架无法加载静态文件
  19. UnitTest 框架
  20. Pyspark交互式编程

热门文章

  1. MATLAB索引超出矩阵维度,求大神指点错误!
  2. 计算机一级如何用rank函数降序,rank函数降序排名
  3. Esp32 编译环境之Msys2
  4. 关于python搞笑段子_Python在手,段子我有
  5. Kotlin高仿微信-第32篇-支付-我的零钱
  6. 加油站电子计算机发票管理办法,EasyAPI发票管理加油站电子发票解决方案
  7. 2023黑龙江科技大学计算机考研信息汇总
  8. python itchat实现机器人
  9. [英语语法]词法之名词
  10. SpringCloud Gateway——请求转发源码分析