《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 }

构造函数链的链接流程

  1. 通过调用只有单个int的构造函数来创建对象。
  2. 构造函数将提供的数据转发给主构造函数,并且提供调用者没有提供的其他初始参数。
  3. 主构造函数把传入的数据赋值给对象的字段数据。
  4. 控制返回到最初调用的构造函数,并且执行手忙脚乱剩余的代码语句。

常量数据

关键字: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 } 

转载于:https://www.cnblogs.com/chenmoit/archive/2012/11/08/2759830.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM学习笔记-04-java历史-沙箱安全机制

JVM学习笔记-04-java历史-沙箱安全机制 文章目录JVM学习笔记-04-java历史-沙箱安全机制视频链接-最新JVM教程IDEA版【Java面试速补篇】-04-java历史-沙箱安全机制 java中的安全模型(沙箱机制) JVM架构图

长文综述:给生物学家的机器学习指南

来源:集智俱乐部作者:Joe G. Greener, Shaun M. Kandathil等 译者:赵雨亭 审校:陈斯信 编辑:邓一雪导语过去几十年,生物数据集的规模与复杂性大幅增长,这使得机器学习越来越多地用于为潜在生物过…

6.1网络应用模型

2019 王道考研 计算机网络-6.1网络应用模型 文章目录6.1网络应用模型1.应用层概述2.网络应用模型2.1C/S架构2.2P2P模式6.1网络应用模型 1.应用层概述 2.网络应用模型 2.1C/S架构 2.2P2P模式

面向对向---封装

类的三大特性 之 封装 super 在py3中怎样用?在py2(新式类/经典类)中怎样用 在py3中super().func()在py2中新式类super(子类的名字,子类的对象).函数名()在py2中经典类中super().func()在单继承中执行父类的同名方法的时候怎么用? 用法&#x…

6.2-DNS系统

2019 王道考研 计算机网络-6.2-DNS系统 文章目录6.2-DNS系统1.DNS系统2.域名3.域名服务器4.域名解析过程6.2-DNS系统 1.DNS系统 DNS服务器,解析域名,返回ip地址 2.域名 什么是顶级域名,二级域名和三级域名 3.域名服务器 DNS域名服务器 …

我们是易网库!

大家好,易网库博客初次和大家见面 易网库是新进中国市场的主机服务提供商,在首阶段,我们提供香港及美国的数据中心各级别的Windows2008空间,部份计划更提供MS SQL 2008数据库,我们全部的空间均附带免费电子邮箱服务。并且,易网库…

​2022年应用人工智能会是什么样子?

来源:ScienceAI编辑:绿萝在过去的 18 个月中,人工智能的采用率猛增。除了为《哈佛商业评论》撰写基础文章的 Joe McKendrick 之外,从事 AI 工作的专业人士也很容易证实这一说法。谷歌搜索似乎也参与了这个不那么秘密的搜索&#x…

6.3文件传输协议FTP

2019 王道考研 计算机网络-6.3文件传输协议FTP 文章目录6.3文件传输协议FTP1.文件传输协议2.FTP服务器和客户端3.FTP的工作原理6.3文件传输协议FTP 1.文件传输协议 2.FTP服务器和客户端 3.FTP的工作原理

复杂科学2021年度精选:从诺贝尔奖到未来科学

来源:集智编辑部编者按:俯仰一息辞旧念,晴空万里无闲云。2021年终于画上句点。这一年,三位科学家因对理解复杂系统的开创性贡献而斩获诺贝尔物理学奖。诺奖既表彰了以地球气候系统为代表的复杂系统研究工作,也在提醒我…

HTML标准

在世界的任何一个角落,每个网络浏览器都以同一种方式显示HTML文件。理想情况下,任何一台电脑上的任何一个浏览器软件对每个HTML标识符应当以相同的方式解释,并有相同的效果。然而,我们的现实世界却存在三个缺陷。 首先&#xff0c…

6.4电子邮件

6.4电子邮件 文章目录1.电子邮件系统概述-电子邮件的信息格式2.电子邮件系统概述-组成结构3.简单邮件传输协议4.邮局协议POP35.网际报文存取协议IMAP6.基于万维网的电子邮件思维导图1.电子邮件系统概述-电子邮件的信息格式 2.电子邮件系统概述-组成结构 3.简单邮件传输协议 4.邮…

剑指Offer——求1+2..+n的和

1、题目描述 求123...n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 2、代码实现 public int Sum_Solution(int n) {int sum n;boolean ans (n>1)&&((sumSum_Solution(n-1))>0…

黑客帝国真的可以!这100万个「活体人脑细胞」5分钟学会打游戏

来源:新智元 ID:AI_era【导读】近日,Cortical Labs开发了一种微型人类大脑——盘中大脑 (DishBrain)。AI要90分钟才学得会的「乒乓球」游戏,这个「大脑」仅仅用了5分钟就玩得有模有样了,不由得让人细思极恐&#xff1a…

6.5万维网和http协议

2019 王道考研 计算机网络6.5万维网和http协议 文章目录1.万维网概述2.超文本传输协议HTTP3.HTTP协议的特点4.HTTP协议的连接方式4.超文本传输协议HTTP-报文结构1.万维网概述 2.超文本传输协议HTTP 3.HTTP协议的特点 4.HTTP协议的连接方式 4.超文本传输协议HTTP-报文结构

理解人类世界的常识对于人工智能是一项挑战

来源:ScienceAI常识并不常见,尤其是在人工智能方面。计算机很难做出人们认为理所当然的细微差别。这就是网站要求您在登录或购买之前验证您是人类的原因:大多数机器人无法分辨人行横道和斑马之间的区别。在本月早些时候举行的 USC AI Futures…

(转)理解MySQL——索引与优化

参考资料:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html ———————————— 全文: 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设…

中文语言能力评测基准「智源指数」问世:覆盖17种主流任务,19个代表性数据集,更全面、更均衡...

来源:AI科技评论作者:琰琰编辑:青暮人工智能大模型时代,评测基准成为大模型发展的风向标。从扁平到全面系统,从简化到多重维度,智源指数CUGE旨在尝试为大模型评测设计一张全面评估综合能力的新考卷。人工智…

leetcode-114-二叉树展开为链表*

题目描述: 方法一:迭代 class Solution:def flatten(self, root: TreeNode) -> None:"""Do not return anything, modify root in-place instead."""cur root while cur: if cur.left: p cur.left while p.right: p …

Science评论:深度学习助力高通量结构生物信息学

来源:集智俱乐部作者:J. Pereira & T. Schwede译者:刘培源 审校:赵雨亭编辑:邓一雪 导语以AlphaFold 2和RoseTTAfold等方法为代表的深度学习技术,不仅实现了蛋白质结构预测领域的突破性进展&#xff0c…