C#中重载与重写区别分析
一、前言 2、 重写: Class Animal { public virtual string Shout()//注意修饰符中增加了一个virtual,它表示此方法是虚方法,可以被子类重写 { return ""; } } 在构建猫这个类时,我们重写“叫”这个方法 Class cat:Animail { Public override string Shout() {//关键字override,表示方法重写 string result="喵"; return result; } } 在构建狗这个类时,我们也重写“叫”这个方法 Class Dog:Animal { public override string Shout() { string result="汪"; return result; } } 重写发生在父类和子类之间,声明的是父类,实例化的是子类。本例子实现了多态。 重载必须发生在一个类中,方法名相同,参数不同。值得注意的是,方法重载必须通过参数不同来判断调用哪个方法,而不能通过返回值。 以上就是本文的全部内容,希望大家对C#中重载与重写的异同有所了解,谢谢大家的阅读。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – 在ViewModelViewHost控件中托管的View和ViewModel中使
- xml – 用Ant替换多行文本
- ruby-on-rails – 如果config.cache_classes = true,Rails找
- Swift利用闭包(closure)来实现传值-->前后两个控制器的反
- ruby-on-rails-3 – Rails select_tag – 设置include_blan
- 我应该在我的C std随机分布上调用reset()来清除隐藏状态吗?
- c# – 在集合项中使用的BackgroundWorker
- 美化窗体——VB窗体的背景图充满整个窗体
- React native (4)--props、state、style、布局
- Flex布局新旧混合写法详解(兼容微信)