C产品在市场上有哪些独特优势?

2026-05-20 07:171阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计537个文字,预计阅读时间需要3分钟。

C产品在市场上有哪些独特优势?

覆盖类成员:通过`new`关键字修饰虚拟函数表示覆盖该函数。覆盖后的虚拟函数,父类中的任何变量都无法访问该虚拟函数的具体实现。

cpppublic virtual void IntroduceMyself() { // ... // 父类虚拟函数的实现}

覆盖类成员:通过new关键字修饰虚函数表示覆盖该虚函数。

一个虚函数被覆盖后,任何父类变量都不能访问该虚函数的具体实现。

C产品在市场上有哪些独特优势?

public virtual void IntroduceMyself(){...}//父类虚函数

public new void IntroduceMyself(){...}//子类覆盖父类虚函数

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MethodOverrideByNew { public enum Genders { Female=0, Male=1 } public class Person { protected string _name; protected int _age; protected Genders _gender; /// <summary> /// 父类构造函数 /// </summary> public Person() { this._name = "DefaultName"; this._age = 23; this._gender = Genders.Male; } /// <summary> /// 定义虚函数IntroduceMyself() /// </summary> public virtual void IntroduceMyself() { System.Console.WriteLine("Person.IntroduceMyself()"); } /// <summary> /// 定义虚函数PrintName() /// </summary> public virtual void PrintName() { System.Console.WriteLine("Person.PrintName()"); } } public class ChinesePerson :Person{ /// <summary> /// 子类构造函数,指明从父类无参构造函数调用起 /// </summary> public ChinesePerson() :base(){ this._name = "DefaultChineseName"; } /// <summary> /// 覆盖父类方法IntroduceMyself,使用new关键字修饰虚函数 /// </summary> public new void IntroduceMyself() { System.Console.WriteLine("ChinesePerson.IntroduceMyself()"); } /// <summary> /// 重载父类方法PrintName,使用override关键字修饰虚函数 /// </summary> public override void PrintName(){ System.Console.WriteLine("ChinesePerson.PrintName()"); } } class Program { static void Main(string[] args) { //定义两个对象,一个父类对象,一个子类对象 Person aPerson = new ChinesePerson(); ChinesePerson cnPerson = new ChinesePerson(); //调用覆盖的方法,父类对象不能调用子类覆盖过的方法,只能调用自身的虚函数方法 aPerson.IntroduceMyself(); cnPerson.IntroduceMyself(); //调用重载方法,父类对象和子类对象都可以调用子类重载过后的方法 aPerson.PrintName(); cnPerson.PrintName(); System.Console.ReadLine(); } } }

结果:

Person.IntroduceMyself()

ChinesePerson.IntroduceMyself()

ChinesePerson.PrintName()

ChinesePerson.PrintName()

以上这篇C# 函数覆盖总结学习(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

本文共计537个文字,预计阅读时间需要3分钟。

C产品在市场上有哪些独特优势?

覆盖类成员:通过`new`关键字修饰虚拟函数表示覆盖该函数。覆盖后的虚拟函数,父类中的任何变量都无法访问该虚拟函数的具体实现。

cpppublic virtual void IntroduceMyself() { // ... // 父类虚拟函数的实现}

覆盖类成员:通过new关键字修饰虚函数表示覆盖该虚函数。

一个虚函数被覆盖后,任何父类变量都不能访问该虚函数的具体实现。

C产品在市场上有哪些独特优势?

public virtual void IntroduceMyself(){...}//父类虚函数

public new void IntroduceMyself(){...}//子类覆盖父类虚函数

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MethodOverrideByNew { public enum Genders { Female=0, Male=1 } public class Person { protected string _name; protected int _age; protected Genders _gender; /// <summary> /// 父类构造函数 /// </summary> public Person() { this._name = "DefaultName"; this._age = 23; this._gender = Genders.Male; } /// <summary> /// 定义虚函数IntroduceMyself() /// </summary> public virtual void IntroduceMyself() { System.Console.WriteLine("Person.IntroduceMyself()"); } /// <summary> /// 定义虚函数PrintName() /// </summary> public virtual void PrintName() { System.Console.WriteLine("Person.PrintName()"); } } public class ChinesePerson :Person{ /// <summary> /// 子类构造函数,指明从父类无参构造函数调用起 /// </summary> public ChinesePerson() :base(){ this._name = "DefaultChineseName"; } /// <summary> /// 覆盖父类方法IntroduceMyself,使用new关键字修饰虚函数 /// </summary> public new void IntroduceMyself() { System.Console.WriteLine("ChinesePerson.IntroduceMyself()"); } /// <summary> /// 重载父类方法PrintName,使用override关键字修饰虚函数 /// </summary> public override void PrintName(){ System.Console.WriteLine("ChinesePerson.PrintName()"); } } class Program { static void Main(string[] args) { //定义两个对象,一个父类对象,一个子类对象 Person aPerson = new ChinesePerson(); ChinesePerson cnPerson = new ChinesePerson(); //调用覆盖的方法,父类对象不能调用子类覆盖过的方法,只能调用自身的虚函数方法 aPerson.IntroduceMyself(); cnPerson.IntroduceMyself(); //调用重载方法,父类对象和子类对象都可以调用子类重载过后的方法 aPerson.PrintName(); cnPerson.PrintName(); System.Console.ReadLine(); } } }

结果:

Person.IntroduceMyself()

ChinesePerson.IntroduceMyself()

ChinesePerson.PrintName()

ChinesePerson.PrintName()

以上这篇C# 函数覆盖总结学习(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。