《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 }
转载于:https://www.cnblogs.com/chenmoit/archive/2012/11/08/2759830.html
《C#与.net高级编程》——第一支柱:C#的封装相关推荐
- .net体系结构——C#高级编程第一章
C#语言不能孤立的使用,而必须和.Net Framework一起考虑.C#编译器专门用于.Net,这表示用C#编写的所有代码总是在.Net Framework中运行.对于C#语言来说,C#的结构和方法 ...
- UNIX环境高级编程-第一章
1.UNIX体系结构: 严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境.我们通常将这种软件称为内核,因为它相对较小,而且位于环境的核心.图1-1显示了UNIX系统的体 ...
- 【读书笔记】C#高级编程 第一章
这一章主要就是一个大体的介绍. 有几个概念需要注意下. 1: CTS: Common Tpye System 通用类型系统. .Net平台有多种语言,比如用VB.NET 写了一个类,然后C#需要继承这 ...
- android 4 高级编程 第一章摘
2019独角兽企业重金招聘Python工程师标准>>> android不再是一个纯粹的手机平台,android能为越来越多的硬件类型提供一个平台,例如平板电脑和电视. Linux内核 ...
- python数据符号函数等一切皆对象_第一章:Python高级编程-Python一切皆对象
第一章:Python高级编程-Python一切皆对象 Python3高级核心技术97讲 笔记 1. Python一切皆对象 1.1 函数和类也是对象,属于Python的一等公民 "" ...
- 《C#高级编程》笔记系列第一弹-开篇
虽然以前做过的C#项目也不少了,做过ASP.NET的BS架构的,也做过Winform的CS架构.有一天一位同事给我们看了下面的一个简单的Demo: public class MainTest ...
- android高级编程-android高级应用
android高级应用>>> 第一阶段 程序员基本素质养成 程序员所需要具备的12条职业素质 让学员初步了解和审视自己所应该具备的职业素质.并且我们会在授课中随时训练和贯彻这样的素质 ...
- Oracle SQL高级编程——分析函数(窗口函数)全面讲解
Oracle SQL高级编程--分析函数(窗口函数)全面讲解 注:本文来源于:<Oracle SQL高级编程--分析函数(窗口函数)全面讲解> 概述 分析函数是以一定的方法在一个与当前行相 ...
- 《UNIX环境高级编程(第3版)》——1.7 出错处理
本节书摘来自异步社区<UNIX环境高级编程(第3版)>一书中的第1章,第1.7节,作者:[美]W. Richard Stevens , Stephen A.Rago著,更多章节内容可以访问 ...
- OC高级编程——深入block,如何捕获变量,如何存储在堆上
OC高级编程--深入block,如何捕获变量,如何存储在堆上 首先先看几道block相关的题目 这是一篇比较长的 博文 ,前部分是block的测试题目,中间是block的语法.特性,block讲解b ...
最新文章
- 算法与数据结构--图的实现、基本操作及应用
- WIN7 WIN8 笔记本无线网卡MAC地址修改
- 20200207_Dontla_MBTI第二步基本分析报告((ISTJ))
- Bash中的whereis
- idea解决lombok注解失效问题
- 你知道IT行业里哪种岗位女生最多吗?
- 高通工具QXDM、QCAT和QPST关系及功能
- 惠普服务器装系统ESXI,在惠普服务器上安装ESXI 5.5卡在LSI_MR3.V00的解决方案
- 后端开发面试自我介绍_java开发面试自我介绍
- 二进制算法问题解析——1000瓶药水,1瓶有毒药,几只小白鼠能够找出?
- JS严格模式(use strict)
- 游戏出海行业现状概况
- 个人网站博客完美添加谷歌广告增加收入详细步骤
- 现在应该继续投资公链?还是投资应用级协议?
- 国内安装oh-my-zsh
- 最大公因数及其求解算法(GCD)
- Linux标识第2个扩展分区,精益创业模式与Get Big Fast模式、火箭发射思维模式,对创业假定的不同在于它认为( )。...
- c语言 rpg游戏,浅谈RPG游戏设计(一)
- GET POST 区别!别听他们扯犊子,越看越气人
- 字是人的脸,可我就是写不好
热门文章
- git commit查找提交的关键字
- 会议升降计算机主机,升降式无纸化多媒体会议系统
- 北京林业大学计算机复试难度,北京林业大学考研难吗?一般要什么水平才可以进入?...
- mysql 触发器_MySQL入门之触发器
- JS高级——JSON、数据存储学习笔记
- LeetCode 1869. 哪种连续子字符串更长
- LeetCode 1700. 无法吃午餐的学生数量(队列模拟 / 不模拟)
- 基于sklearn的LogisticRegression二分类实践
- LeetCode 623. 在二叉树中增加一行(BFS/DFS)
- LeetCode 342. 4的幂(位运算)