欢迎来到天天文库
浏览记录
ID:34714733
大小:52.18 KB
页数:3页
时间:2019-03-10
《方法重载、重写方法、继承、接口、多态》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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(继承和多态)”;注意:接口有利于代码功能的扩展,而继承有利于代码功能的修改;接口不能用于派生类,类不能用于派生接口;如果基类实现接口,派生类将继承该实现
此文档下载收益归作者所有