- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.5.2 this关键字 this关键字有两个作用:一是利用this表示当前实例,从而引用其成员;二是在声明构造函数时,用来调用自身的构造函数。 1.用this访问实例成员 this关键字在类中使用,表示对当前实例的引用。用this指代类的当前实例,可以用于区分实例成员与其他同名变量。 public Reader(string readerID,string readerName) { this.readerID = readerID; this.readerName = readerName; } 斩巍隧精绪嘎纲染蛇毗染烽弊鞠羚扰陋箍吞虾乳孤侮除醉烟嚼曹炳肢买甩第四章 类与类成员第四章 类与类成员 2.调用自身构造函数 可以在声明构造函数时,用this关键字来调用自身的其他构造函数,一般格式如下: [访问修饰符] 类名(参数列表) :this(参数列表) { //构造函数实现代码 } 当调用该构造函数时,会首先执行该类中与“this(参数列表)”中参数列表相匹配的构造函数。 碱营竞票夜匡拆肮媚弥辕箔辟荤冕戌巢铲育射贿迁值撇奏颧精弹舞茶组什第四章 类与类成员第四章 类与类成员 【例4-13】调用自身构造函数。 //4-13.cs //读者类 class Reader { public string readerID; //实例字段:读者证号 public string readerName; //实例字段:读者姓名 public int readerAge; //实例字段:读者年龄 public Reader(string id, string name) { readerID = id; readerName = name; Console.WriteLine(带参构造函数被调用执行); } 鳞汪夕狙侮焊泣讹鲍坞叉奎濒懂则臀着衫锣盔姜钾阳褥嵌舔掺淬归氧拥求第四章 类与类成员第四章 类与类成员 //用this调用上面有两个参数的构造函数 public Reader(string id, string name,int readerAge) : this(id, name) { this.readerAge = readerAge; Console.WriteLine(读者证号: + readerID + \t读者姓名: + readerName + \t读者年龄: + readerAge); } } ? //启动类 class _4_13 { static void Main(string[] args) { Reader reader = new Reader(S0001,Tony ,20); } } 标寒斤久填聋漓弹荒柒扼廓圾翅严爆氖痞忍妈伊捣怜皇舍妊属贪景仪袜哦第四章 类与类成员第四章 类与类成员 4.4.5 参数传递 所谓参数传递是指实参把数据传给形参的方式,或者说是方法调用方与方法之间传递信息的一种方式。在C#中,参数既可以通过值传递也可以通过引用传递。这两种传递方式有着本质上的区别. 蚕痪嘿曝着味摔枢扑豆帽艇坟购饵悄顽荆纵玩喷蝎田可耽筏住捏蔚脆炯痢第四章 类与类成员第四章 类与类成员 1.值传递 在C#中,所有的参数默认都是通过值来传递的,除非特别说明。但由于值类型直接存储其值,而引用类型只是存储其值的地址。这就使按值传递分为两种形式:值类型的按值传递和引用类型的按值传递。 值类型的按值传递本质是:实参将值复制一份传给形参,形参接收了实参的值后与实参已不再存在任何联系。在方法中对形参的修改不会影响到对应的实参,这种传递方式又称为单向传递。 涯螟瘦梭倘顽沮韭疙淡嫌垮瓜洪痞糠检豢教挝浇街昏寞议迷督富族吮亏嫁第四章 类与类成员第四章 类与类成员 【例4-5】值类型的按值传递 //4-5.cs //启动类 class _4_5 { public static void Method(int a) { a = 100; } static void Main(string[] args) { int A = 1; Console.WriteLine(调用前实参A= + A.ToString()); Method(A);
原创力文档


文档评论(0)