this关键字之一个有趣的用法
this关键字
1.首先一个用处就是代表当前类的对象。
2.当我们对构造函数进行重载的时候代码如下:
public class Class1 { public string Name { get; set; } public int Age { get; set; } public string Grade { get; set; } public int English { get; set; } public int Math { get; set; } public int Chinese { get; set; } public Class1(string name,int age,string grade,int english,int math,int chinese) { this.Name = name; this.Age = age; this.Grade = grade; this.English = english; this.Math = math; this.Chinese = chinese; } public Class1(string name,int english, int math, int chinese) { this.Name = name; this.English = english; this.Math = math; this.Chinese = chinese; } public Class1(string name, int age) { this.Name = name; this.Age = age; } public Class1() { } }
以上代码完全没有问题,但是不免有些代码冗余的现象。我们可以使用this关键字
public class Class1 { public string Name { get; set; } public int Age { get; set; } public string Grade { get; set; } public int English { get; set; } public int Math { get; set; } public int Chinese { get; set; } public Class1(string name,int age,string grade,int english,int math,int chinese) { this.Name = name; this.Age = age; this.Grade = grade; this.English = english; this.Math = math; this.Chinese = chinese; } public Class1(string name,int english, int math, int chinese):this(name,0,"c",english,math,chinese) { //this.Name = name; //this.English = english; //this.Math = math; //this.Chinese = chinese; } public Class1(string name, int age) { this.Name = name; this.Age = age; } public Class1() { } }
即this的第二个用处为在类中显式的调用本类的构造函数
this关键字之一个有趣的用法的更多相关文章
- 关于Javascript语言中this关键字(变量)的用法
最近很多 Javascript初学者朋友总在问: Javascript 的this 关键字的用法.我在这里索性总结一下 this关键字的用法. this 关键字是面向对象编程语言中的一个重要概念!在J ...
- Java关键字之static的典型用法分析
static关键字是java中非常重要的一个关键字,用的好的话可以提高程序的运行性能,优化程序结构.接下来我们来总结一下static关键字及其用法.1.static变量 static变量也称作静态变量 ...
- Java继承:super关键字、构造器、final用法
一.继承 继承好处 1.提高代码的重用性 2.提高代码的扩展性和维护性 3.为多态打下了基础 继承类型 继承子类创建对象的过程 二.super关键字的使用 理解:super代表父类的引用,用于访问父类 ...
- jqeruy的append一个有趣的用法(挪移控件位置)
使用:$(放置的容器).append($(需要迁移的控件)) 需求:列表中点击编辑可以在无刷修改 以前的方法是在列表中的每条数据直接放置控件.但是这个地区选择控件是服务器自定义控件不可以放置在列表的循 ...
- read table 时关键字TRANSPORTING NO FIELDS的用法
关键字TRANSPORTING NO FIELDS 用于read table with key 一般用于等读取内表的时候,只是判断该内表中是否有次数据 不需要读取到工作区中. READ TABLE g ...
- php static 关键字在 函数中的用法
至于在类中声明为 static 的属性和方法,这里不描述php中的变量作用范围的另一个重要特性就是静态变量(static 变量).静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第5节 final关键字_1_final关键字概念与四种用法
英文的含义和程序中的含义是相同的.最终的,不可改变的
- js中关键字 const , let , var 的用法区别
1.const定义的变量不可以修改,而且必须初始化. 2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错. 3.let是块级作用域,函数内部使用let定义后,对函数外部无影响 ...
- C#中的using关键字用法总结
C#中的using关键字主要有两种用法: 1.using作为指令: (1)用于将命名空间引入当前单元,例如:using System.Windows.Forms; (2)为现有的命名空间创建一个别名, ...
随机推荐
- libthrift0.9.0解析(一)之TServer
TServer 属性serverTransport 为TServerTransport类型,类图如下: 构造函数,简单根据args设置几个成员,大部分是工厂类: protected TServer(A ...
- Python文件之----CSV
# -*- coding:utf-8 -*- ''' Created on 2015年4月20日 @author: liuxue ''' import csv import sys reload(sy ...
- Android_Touch_Test
} } }); } }
- thinkphp3.23整合phpexcel
HINKPHP3.2.3整合PHPexcel实现数据的导入导出.可以上传excel文件后批量导入到数据库,兼容.xls和.xlsx格式:数据库里的数据可以按照搜索条件和分页导出为excel文件.最近接 ...
- 禁止ios默认拉动弹性行为
document.ontouchmove = function(e) { e.preventDefault();} /** 禁止ios默认拉动弹性行为**///屏蔽ios下浏览器滚动缓冲效果
- C# 实现将PDF转文本的功能
这篇文章最初只描述使用 PDFBox 来解析PDF文件.现在它已经被扩展到包括使用 IFilter 和 iTextSharp 的例程了. 这篇文章和对应的Visual Studio项目已经更新到目前 ...
- 配置一个servlet程序
<!-- 配置一个servlet程序 --> <servlet> <!-- servlet的内部名称 ,可以自定义--> <servlet-name>H ...
- Git之detached HEAD
今天遇到了和CSDN上博主相同的问题,就是使用git -branch -a 发现自己处于一个零时的分支上.这篇博文写的不错,转载记录一下. 转载:http://blog.csdn.net/lili62 ...
- Deep Residual Learning for Image Recognition(MSRA-深度残差学习)
转自:http://blog.csdn.net/solomonlangrui/article/details/52455638 ABSTRACT: 神经网络的训练因其层次加深而 ...
- myEclipse8.* 手动安装ADT插件[转]
Myeclipse8.6手动添加插件: 自动在线安装完ADT插件会导致myeclipse8.6中无法创建web项目以及其他项.解决方法是手动安装步骤如下: 首先安装好 MyEclipse 8.6. 1 ...