《C#与.net高级编程》——第一支柱:C#的封装
This关键字的作用:
解决当传入参数的名字和类型数据字段的相同时产生的作用域歧义。
构造函数链
1 class Motorcycle 2 { 3 public int driverInterIntensity; 4 public string driverName; 5 //构造函数链 6 public Motorcycle(){} 7 public Motorcycle(int intensity) 8 : this(intensity,""){} 9 public Motorcycle(string name) 10 : this(0,name) {} 11 //这是做所有工作的“主”构造函数 12 public Motorcycle(int intensity ,string name) 13 { 14 if (intonsity > 10) 15 { 16 intensity =10; 17 } 18 driverIntensity = intensity; 19 driverName = name; 20 } 21 }
构造函数链的链接流程
- 通过调用只有单个int的构造函数来创建对象。
- 构造函数将提供的数据转发给主构造函数,并且提供调用者没有提供的其他初始参数。
- 主构造函数把传入的数据赋值给对象的字段数据。
- 控制返回到最初调用的构造函数,并且执行手忙脚乱剩余的代码语句。
常量数据
关键字:const
注:定义常量时必须为常量指定初始值。
只读字段
关键字:readonly
和常量紧密联系的概念是只读字段数据。和常量相似,只读字段不能在赋初始值后改变。然而,和常量不同的是,赋给只读字段的值可以在运行时决定,因此在构造函数作用域中进行赋值是合法的。
静态只读字段
关键字:static readonly
分部类型
使用分部类将构造函数和字段数据转移到全新的 Employee.Internal.cs 文件中。第一步是向当前的类定义中添加partial关键字,再剪切转移到新文件中的代码:
1 // Employee.cs 2 partial class Employee 3 { 4 //方法 5 //属性 6 }
然后,假设已经在项目中插入了新的类文件,将数据字段和构造函数粘贴到新文件中。此外,还必须在类定义中添加partial关键字。例如:
1 // Employee.Internal.cs 2 partial class Employee 3 { //字段数据 4 //构造函数 5 }
Stay Hungry Stay Foolish--求知若饥,虚心若愚
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构