博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重写和重载重点
阅读量:5245 次
发布时间:2019-06-14

本文共 979 字,大约阅读时间需要 3 分钟。

虚方法:使用virtual关键字修饰,使用virtual关键字修饰的方法在本类中必须有实现,哪怕是空的{}。虚方法存在的意义就是为了让子类重写。子类可以重写,也可以不重写。 方法重写:只有用virtual、abstract、override修饰的方法在继承后子类可以重写。//实现方法重写的方式3个关键字

什么是方法重写?

答:方法重写是指子类继承父类后在子类中有一个与父类中某个方法签名一致,但方法内容可以重新定义的方法,并用override关键字修饰。

抽象类:abstract关键字修饰;不能实例化;可以有抽象成员也可以有非抽象成员(1.有抽象成员的类必须标记为abstract,并且不能有任何实现;2.类中的抽象成员在子类中必须实现(override),除非子类也是抽象类); virtual方法和abstract方法的区别: virtual方法子类可以override,也可以不override。 Abstract标记的成员在子类中必须override,除非子类也是抽象类。 ToString()方法、Equals()来自于Object,任何类都有,通过override有了不同的实现(比如ToString())

使用virtual关键字修饰的方法在本类中必须有实现,哪怕是空的{}。

new()实例,new[]声明--数组,叫声明,不叫实例化

子类加关键字new,父类不可以调用 有抽象成员的类必须标记为abstract,并且不能有任何实现;

派生类不能继承重写构造函数,可以base调用

多态-----方法(重写,重载);继承-----类

必须先继承在多态(必须在子类中才能实现对父类虚方法的重写) 重载可以在同一个类 重写之后,方法可以一样也可以不一样,一样就没意义了 重载和重写的返回值问题: 重载函数与返回值无关,可以自己定,但是参数的类型或者个数不能一样 重写函数与返回值有关系,返回值必须一致 二者都是函数的名称一样

// 对于父类指向子类: //如果父类为虚方法并且该子类已经给重写(二者缺一不可),那么父类点出来的方法则调用的是子类的override方法; //否则为本身的方法,默认为本身的方法

 

转载于:https://www.cnblogs.com/sybboy/archive/2013/01/16/2863224.html

你可能感兴趣的文章
外部访问docker中的MySQL
查看>>
Ubuntu18.04下STM32开发工具安装 Stopping at filesystem boundary或configure: error: jimtcl not found...
查看>>
如何快速建立一个测试资源Web服务器及异步获取资源(Unity3D)
查看>>
CIO如何给自己的团队带来价值
查看>>
Java调用oracle函数返回oracle类(类似)集合
查看>>
wordpress 更新时需要FTP 服务器账户密码的解决方法
查看>>
JQuery全屏浮动
查看>>
前端杂货铺上新
查看>>
Vue.js 基础
查看>>
Vue.js 组件中data的使用
查看>>
Vue实例的生命周期
查看>>
2 Vue.js基础
查看>>
05.vue-resource的基本使用
查看>>
Vue.js 注册组件
查看>>
3 Vue.js基础
查看>>
Vue的生命周期(在其他地方看到一份非常好又详细的详解)
查看>>
VUe.js 父组件向子组件中传值及方法
查看>>
u盘拷贝
查看>>
或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧
查看>>
[Vue 牛刀小试]:第十七章 - 优化 Vue CLI 3 构建的前端项目模板(1)- 基础项目模板介绍...
查看>>