学习文档1.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学习文档1

1.覆盖Override 重载overloadoverload:重载是指一个类中,同名方法(普通方法、构造方法、静态方法、运算符、索引)不同参数签名。override:覆盖是指子类/派生类对父类/基类中虚函数或抽象函数的“覆盖”,但是这种“覆盖”和用new关键字来覆盖是有区别的。用new关键字来覆盖则是有代价的。这种覆盖是一种表面上的覆盖,被覆盖的父类方法是可以调用得到的。覆盖就是对父类的方法的重新改写,也就是子类的方法把父类的方法给隐藏了,而非删除。而重载是面向对象语言的一个特点。和覆盖是完全不一样的概念。简单例子:class text{fun(int a){ }fun(int a, int b){ }fun (char a){ }}当调用一个类的方法时系统根据你方法中带的参数的个数、类型判断应该调用哪个方法, 如:你调用了方法带如下实参:fun(20,30)。 那么你的方法参数是两个int实参。那肯定调用第二个方法。 同样你带入的参数是一个字符,那么调用第三个方法.这就是重载。即 重载的函数名一定一定相等。但带入的参数一定一定不同.像一个类的构造方法基本都有重载。方法的覆盖(override)和重载(overload)的区别是:覆盖肯定是方法名、方法的返回值、方法的形参要相等。而重载方法的名同样一定相等,但方法的形参类型、个数肯定不相等!而覆盖肯定是在继承关系的两个类中谈论的概念而重载在一个单独的类中就可以谈论重载, class A{ public virtual void m1();}class B : A{ public override void m1();//此方法必须给出实现, 否则就通不过编译,}class C : A{ public new void m1();}A a = new A(), b = new B(), c = new C();a.m1(), c.m1()是一样的,都是A的m1(),而b.m1()调用的是B的m1()((B)a).m1()调用的是B的m1()((C)c).m1()调用的是C的m1()((B)a).m1()基类不能向派生类转化的,只能派生类向基类转化,否则编译出错.可见用override和用new来覆盖的区别: override是彻底的重写基类方法。而new只是表面上重写而已,强制转化后调用的仍然是基类的方法。2.委托和事件using System; using System.Collections.Generic; using System.Text; namespace Delegate { //定义委托,它定义了可以代表的方法的类型 public delegate void GreetingDelegate(string name); class Program { private static void EnglishGreeting(string name) { Console.WriteLine(Morning, + name); } private static void ChineseGreeting(string name) { Console.WriteLine(早上好, + name); } //注意此方法,它接受一个GreetingDelegate类型的方法作为参数 private static void GreetPeople(string name, GreetingDelegate MakeGreeting) { MakeGreeting(name); } static void Main(string[] args) { GreetPeople(Jimmy Zhang, EnglishGreeting); GreetPeople(张子阳, ChineseGreeting); Console.ReadKey(); } } }委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性3.登陆界面的用户名和密码记住winform登录界面实现记住密码功能 bool checkstate = false;//页面加载时读取用户名,并添加到用户名列表中private void Login_Load(object sender, EventArgs e){ if (File.Exists(@F:\项目备注\福尔希尔\FinanialManageSys\user.xml)) //判断文件是否存在 { XmlTextReader reader = new XmlTextReader(@F:\项目备注\福尔希尔

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档