当前位置: 首页 > article >正文

C#入门学习笔记 #6(字段、属性、索引器、常量)

欢迎进入这篇文章,文章内容为学习C#过程中做的笔记,可能有些内容的逻辑衔接不是很连贯,但还是决定分享出来,由衷的希望可以帮助到你。

笔记内容会持续更新~~

将这四种成语放在一起讲是因为这四种成员都是用来表达数据的。

字段

字段是一种表示与对象或类型关联的变量。字段是类型的成员,一般称为“成员变量”。其中,与对象关联的字段称为“实例字段”,隶属于某个对象,而与类型关联的字段称为“静态字段”,由static修饰,隶属于某个数据类型。

实例字段

实例字段是帮助实例来存储数据的,实例字段的组合就表达了这个对象当前的状态。

静态字段 

静态字段是用来表示这个类型当前的状态的。

属性

属性是一种用于访问对象或类型的特征的成员,特征反映了状态。从命名上来看,字段更偏向于实例对象在内存中的布局,属性更偏向于反映现实世界对象的特征。属性是由字段(Get/Set方法)演变而来的,过程如下:

代码是没有问题的,但是很不符合常识,正常学生是不可能会有200岁的,就想出了另外一个方法:

通过这样的方式,字段可以被保护起来,输入一些不合法的值,系统会抛出异常做出提醒。但是可以看到,这种写法还是有点儿冗长,因此微软发明出来了属性这种成员。

通过这种方式,创建好的student实例又可以直接.Age,回归了方便直观。属性本质就是一个“语法糖”,它把深层次复杂的东西改变了,其实执行Set、Get的内部,也还是调用了Set_Age和Get_Age方法。

属性的声明

属性的声明分为完整的声明和简易的声明,首先介绍完整的声明:输入“propfull”后按“tab”键,ide即可自动地生成属性的默认格式。

如图已经生成好了实例属性,继续使用快捷键生成静态属性。

介绍完了完整声明再介绍下简易声明,简易声明在功能上与一个共有的字段是完全一样的,是不受保护的,好处就是声明起来比较容易,代码比较短,一般使用就是为了传递数据的。声明的方式就是输入“prop”后按“tab”键即可,不用输入“full”了。

总结一下属性与字段的关系,一般情况下它们都用于表示实体的状态,属性大多数情况下都是字段的包容器,建议永远使用属性来暴露字段,即字段永远都是private或protected的。

索引器

索引器使对象能够用与数组相同的方式进行索引。索引器使用的较少,先不过多赘述。

常量

常量的概念,在学习笔记#4中简单介绍过。常量是表示常量值的类成员,常量隶属于类型而不是对象。

此处的常量是局部常量,下面介绍下成员常量,两种变量需要做出区分。

像这里的PI,它是Math类的成员,是属于类的,所以是成员常量。 

 

http://www.lryc.cn/news/2402647.html

相关文章:

  • 广目软件GM DC Monitor
  • 每日八股文6.6
  • 动静态库的使用(Linux下)
  • PostgreSQL17 编译安装+相关问题解决
  • FFMPEG 提取视频中指定起始时间及结束时间的视频,给出ffmpeg 命令
  • React 第五十六节 Router 中useSubmit的使用详解及注意事项
  • 华为云学堂-云原生开发者认证课程列表
  • Vue.js 组件:深入理解与实践
  • 什么是强化学习:设置奖励函数最为loss, 监督学习:标签准确率作为loss
  • 理解网络协议
  • placeholder不显示and模板字符串无效
  • 在MyBatis中设计SQL返回布尔值(Boolean)有几种常见方法
  • 全球知名具身智能/AI机器人实验室介绍之AI FACTORY基于慕尼黑工业大学
  • DASCTF
  • 钉钉 - 机器人消息推送(签名版)
  • Redux 实践与中间件应用
  • ModBus总线协议
  • 【计算机网络】非阻塞IO——poll实现多路转接
  • 在.NET Core控制器中获取AJAX传递的Body参数
  • snprintf函数用法及注意事项详解
  • vue-20(Vuex 状态管理的最佳实践)
  • DAX权威指南8:DAX引擎与存储优化
  • 智慧货运飞船多维度可视化管控系统
  • 电脑开不了机,主板显示67码解决过程
  • Spring Boot 类加载机制深度解析
  • Python 训练营打卡 Day 45
  • 自托管图书搜索引擎Bookologia
  • 前端flex、grid布局
  • Maven相关问题:jna版本与ES冲突 + aop失效
  • Tomcat全方位监控实施方案指南