[置顶] 黑马程序员------this关键字

发布时间:2016-12-7 18:36:12 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"[置顶] 黑马程序员------this关键字",主要涉及到[置顶] 黑马程序员------this关键字方面的内容,对于[置顶] 黑马程序员------this关键字感兴趣的同学可以参考一下。

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ---------------------- 在调用方法的时,this可以自动的传递一个隐含参数,该参数是对调用对象(及方法调用所在的对象)的引用,该引用被称为this。因此this指向方法正在操作的对象。为理解this的含义首先查看一个程序,它创建一个名为Rect的类封装的矩形的宽和高的信息,并包含一个返回矩形面积的Area()方法。 using System; calss Rect{ public int Width;//矩形的宽 public int Height//矩形的高 //构造函数为对象赋初值 public Rect(int w,int h){ Width=w; Height=h; } //求矩形的面积 public int Area(){ return Width*Height; } } class UseRect{ static void Main(){ Rect r1=new Rect(4,5); //实例化对象r1 Rect r2=new Rect(7,9);//实例化对象r2 console.writeLine("对象r1的面积为"+r1.Area()); console.writeLine("对象r2的面积为"+r2.Area()); } } 在方法内可以直接访问类的其他成员,而不需要添加任何对象名和类名,因此在Area()方法中,语句: return Width*Height; 表示直接调用对象的Width和Height的值相乘,然后返回结果,然而该语句也可以写成如下形式: return this.Width*Height; 其中this指向调用Area()方法的对象,因此this.Width指向对象Width的副本,而this.Heightz指向对象Height的副本。例如如果调用Area()的对象为x,那么上述语句中的this指向。 也可以在构造函数中使用关键字this。在这种情况下,this指向正在构造的对象。例如在Rect()中语句 Width=w; Height=h; 可以编写为如下形式: this.Width=w; this.Height=h; 下面给出使用this引用编写的Rect类: using System; calss Rect{ public int Width;//矩形的宽 public int Height//矩形的高 //构造函数为对象赋初值 public Rect(int w,int h){ this.Width=w; this.Height=h; } //求矩形的面积 public int Area(){ return this.Width*Height; } } class UseRect{ static void Main(){ Rect r1=new Rect(4,5); //实例化对象r1 Rect r2=new Rect(7,9);//实例化对象r2 console.writeLine("对象r1的面积为"+r1.Area()); console.writeLine("对象r2的面积为"+r2.Area()); } } this关键字有一些重要用途,例如,在C#语法中允许参数名和或局部变量名和实例变量名相同,此时局部变量名称会隐藏实例变量名称。这是可以通过this指向隐藏的实例变量,从而访问他。例如下面编写Rect()构造函数的方法是符合语法的。 public Rect(int Width,int Height){ this.Width=Width; this.Height=Height; } 在该实例中,参数的名称和实例变量的名称相同,因此隐藏了实例变量。但是可以用this来”揭开“实例变量。 ---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------

上一篇:WEBUS2.0 In Action - 搜索操作指南 - (4)
下一篇:暑假总结

相关文章

相关评论