函数覆盖总结知识点
一个虚函数被覆盖后,任何父类变量都不能访问该虚函数的具体实现。
public virtual void IntroduceMyself(){...}//父类虚函数
public new void IntroduceMyself(){...}//子类覆盖父类虚函数
using System;using ric;using ;using ;namespace MethodOverrideByNew{ public enum Genders { Female=0, Male=1 } public class Person { protected string _name; protected int _age; protected Genders _gender; ///
/// 父类构造函数 ///
public Person() { this._name = "DefaultName"; this._age = 23; this._gender = ; } ///
/// 定义虚函数IntroduceMyself() ///
public virtual void IntroduceMyself() { eLine("oduceMyself()"); } ///
/// 定义虚函数PrintName() ///
public virtual void PrintName() { eLine("tName()"); } } public class ChinesePerson :Person{ ///
/// 子类构造函数,指明从父类无参构造函数调用起 ///
public ChinesePerson() :base(){ this._name = "DefaultChineseName"; } ///
/// 覆盖父类方法IntroduceMyself,使用new关键字修饰虚函数 ///
public new void IntroduceMyself() { eLine("oduceMyself()"); } ///
/// 重载父类方法PrintName,使用override关键字修饰虚函数 ///
public override void PrintName(){ eLine("tName()"); } } class Program { static void Main(string[] args) { //定义两个对象,一个父类对象,一个子类对象 Person aPerson = new ChinesePerson(); ChinesePerson cnPerson = new ChinesePerson(); //调用覆盖的方法,父类对象不能调用子类覆盖过的.方法,只能调用自身的虚函数方法 oduceMyself(); oduceMyself(); //调用重载方法,父类对象和子类对象都可以调用子类重载过后的方法 tName(); tName(); Line(); } }}
结果:
oduceMyself()
oduceMyself()
tName()
tName()
-
公司前台年终个人工作总结范文
总结是在某一时期、某一项目或某些工作告一段落或者全部完成后进行回顾检查、分析评价,从而得出教训和一些规律性认识的一种书面材料,它能帮我们理顺知识结构,突出重点,突破难点,因此,让我们写一份总结吧。总结你想好怎么写了吗?以下是小编整理的公司前台年终个人工作...
-
移动营业员年终工作总结
总结是对取得的成绩、存在的问题及得到的经验和教训等方面情况进行评价与描述的一种书面材料,它可以帮助我们有寻找学习和工作中的规律,因此十分有必须要写一份总结哦。那么总结要注意有什么内容呢?下面是小编精心整理的移动营业员年终工作总结,欢迎阅读,希望大家能...
-
年终办公室工作总结范文
总结是把一定阶段内的有关情况分析研究,做出有指导性的经验方法以及结论的书面材料,通过它可以全面地、系统地了解以往的学习和工作情况,让我们好好写一份总结吧。但是却发现不知道该写些什么,下面是小编精心整理的年终办公室工作总结范文,欢迎阅读与收藏。年终办公...
-
星级酒店保安部年终工作总结
总结是对某一阶段的工作、学习或思想中的经验或情况进行分析研究的书面材料,它可以有效锻炼我们的语言组织能力,快快来写一份总结吧。总结怎么写才能发挥它的作用呢?下面是小编为大家整理的星级酒店保安部年终工作总结,欢迎大家分享。星级酒店保安部年终工作总结1...