方法重载、重写方法、继承、接口、多态

方法重载、重写方法、继承、接口、多态

ID:34714733

大小:52.18 KB

页数:3页

时间:2019-03-10

方法重载、重写方法、继承、接口、多态_第1页
方法重载、重写方法、继承、接口、多态_第2页
方法重载、重写方法、继承、接口、多态_第3页
资源描述:

《方法重载、重写方法、继承、接口、多态》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1)继承:是从一个现有的类中派生出新的类,派类自动继承了基类中包含的变量和方法;当变量和方法声明为保护可见性(protected)时,派生类会继承它,保留一些它的封装性;如:ClassPerson{Protectstringname;Publicvoidsayhello(){//}ClassChinese:Person{//}Main(){Chinesep=newChinese();p.name=”steven”;p.sayhello();}2)重写方法:当子类定义了一个和父类中有同样名字和签名方法时;在继承环

2、境下经常发生重写的需求,扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现.基类授意:父类前加virtual,子类前加overrides基类没授权重写:子类前要加new;Sealed防止了重写基类方法的派生类的再派生类重写同样的方法;不能重写非虚方法或静态方法,重写的基方法必须是virtual(虚)、abstract(抽象)或override的。字段不能是虚拟的,只有方法、属性、事件和索引器才可以是虚拟的。如:ClassPerson{Protectstringname;Publicvirtualvoid

3、sayhello(){Console.writeline(“123”);}ClassChinese:Person{Publicoverridevoidsayhello(){Console.writeline(“234”);Base.sayhello();//}Main(){Chinesep=newChinese();p.name=”steven”;p.sayhello();}3);方法重载:使用带有不同参数列表的同样的方法名用于多个方法;如:publicintsum(intnum1,intnum2){retur

4、nnum1+num2;}Publicintsum(intnum1,intnum2,intnum3){returnnum1+num2+num3;}根据不同实例来调用sum方法的不同版本:sum(25,39)或者sum(2,4,5)签名:方法名和它的参数的数量、类型和顺序;4)接口:是常量和抽象方法的集合,接口中的抽象方法(没有实现的方法,即没有为抽象方法定义的代码体,方法后面简单跟着分号)前不放abstact,;接口不能实例化,所有实现了特定的接口,它们必须为接口的所有方法重定义,也是多态的基础;接口是方法的定义

5、;抽象类可以实现一部分方法,可以有数据成员;例子见:C#基础实例中“Interface(接口理解)”5)多态:重载构成了多态的基础,方法触发时引用指向的对象类型决定了要触发哪个版本的方法;一个接口,多种实现;一个方法通过引用变量实现多种状态;例子见:C#基础实例中“Inheritance(继承和多态)”;注意:接口有利于代码功能的扩展,而继承有利于代码功能的修改;接口不能用于派生类,类不能用于派生接口;如果基类实现接口,派生类将继承该实现

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

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

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