C#高级编程学习笔记和代码

C#高级编程学习笔记和代码

ID:41037061

大小:126.25 KB

页数:29页

时间:2019-08-14

C#高级编程学习笔记和代码_第1页
C#高级编程学习笔记和代码_第2页
C#高级编程学习笔记和代码_第3页
C#高级编程学习笔记和代码_第4页
C#高级编程学习笔记和代码_第5页
资源描述:

《C#高级编程学习笔记和代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.索引器索引器就是一类特殊的属性,通过它们你就可以像引用数组一样访问对象元素的功能。显然,这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象某些有限资源等,能让类具有类似数组的行为当然也是非常有用的。本文就会引领你设置类来采用索引器。索引器的定义如下所示:[修饰符]数据类型this[intindex]{访问函数体代码}自己写的一个类的简单的索引:namespaceInterfaceTest{classindexx{publicstringnn="";publicintdd=0;publicindexx(stringname,inti

2、d){nn=name;dd=id;}}classsindex{privateindexx[]Try=newindexx[10];publicindexxthis[intindex]{get{if(index>=0

3、

4、index<10)returnTry[index];elsereturnnull;}set{if(index>=0

5、

6、index<10)Try[index]=value;}}}publicclassapp{publicstaticvoidMain(){sindexsin=newsindex();sin[1]=newindexx("qym",4312);

7、Console.WriteLine("nameis{0}andidis{1}",sin[1].nn,sin[1].dd);Console.ReadLine();}}}2.重载运算符重载运算符的格式为:Publicstatic返回类型operator运算符(参数表){}示例代码:namespaceInterfaceTest{publicclassReload{publicintx,y;publicReload(){x=y=0;}publicReload(inti,intj){this.x=i;this.y=j;}publicstaticReloadoperator+

8、(Reloadrr,Reloaddd){Reloadnn=newReload();nn.x=rr.x+dd.x;nn.y=rr.y+dd.y;returnnn;}publicstaticReloadoperator+(Reloadrr,intd){Reloadnn=newReload();nn.x=rr.x+d;nn.y=rr.y+d;returnnn;}}publicclassRun{publicstaticvoidMain(){Reloadxx=newReload(23,43);Reloadyy=newReload();intg=10;//Reloaduu=n

9、ewReload();//Reloadii=newReload();Reloaduu=xx+yy;Reloadii=xx+g;Console.WriteLine("xx+yy'sx={0}andy={1}",uu.x,uu.y);Console.WriteLine("xx+g'sx={0}andy={1}",ii.x,ii.y);Console.ReadLine();}}}3.多态性C#的多态性是指当对不同类的对象执行相同的方法时,系统能根据不同类的对象正确辨别调用各对象所属类的相应方法,从而产生不同的结果。多态性是通过”虚方法重载”来实现在程序中调用相应对象所属

10、类中的方法,而不是调用基类的方法。虚方法重载就是将基类的某个方法在其派生类中重新定义,而方法名和方法的参数都不改变。虚方法即加修饰符virtual,派生类中用override进行覆盖。非虚方法真正执行的功能是编译时的对象所属的类中的方法;虚方法面向运行时它实际所属的类的对象,也即虚方法真正执行的功能是运行时的实际对象所属的类中的方法。New关键字用于派生类对象希望调用派生类中定义的与其基类同名,但作用效果不同的方法;虚方法用于自动实现派生类对象调用自己类中的与基类同名、但作用效果不同的方法。示例代码:namespaceInterfaceTest{classVirt

11、ualTest{}publicclassEmployeee{publicstringname;publiclongidcard;publicdoublesalary;publicdoubleincrease;publicEmployeee(stringn,longi,doublem){name=n;idcard=i;salary=m;}publicvoidPrint(){Console.WriteLine("姓名:{0}",name);Console.WriteLine("身份证号:{0}",idcard);Console.WriteLine("基本工资:{0}"

12、,sala

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。