本篇内容介绍了“C#继承与构造函数的调用实例”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
C#继承构造函数的调用实例演示
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace test { class Program { static void Main(string[] args) { //***种情况 --C#继承构造函数的调用A a = new B();//x=1,y=0 a.PrintFields();//x=1,y=-1 //因为构造B之前,先执行变量,y没有明确赋值,默认为0。 //A构造函数调用的PrintFields方法在A类里是虚函数,它的实现是在B类, //所以执行B类的PrintFields方法,结果输出。 //虽然继续执行完B的构造函数,使y的值是-1.但结果之前已经输出 //第二种情况 --C#继承构造函数的调用B b = new B();//x=1,y=0 b.PrintFields();//x=1,y=-1 //因为构造B之前,先执行变量,y没有明确赋值,默认为0。 //执行B的构造函数,因为B继承A,所以先执行A的构造函数。// A构造函数调用的PrintFields方法在A类里是虚函数,它的实现是在B类, //所以执行B类的PrintFields方法,结果输出。 //虽然继续执行完B的构造函数,使y的值是-1.但结果之前已经输出 //第三种情况 A c = new A(); c.PrintFields();//什么都不输出 Console.ReadKey(); } } class A //C#继承构造函数的调用{ public A() { PrintFields(); } public virtual void PrintFields() { } } class B : A { int x = 1; int y; public B() { y = -1; } public override void PrintFields() { Console.WriteLine("x={0},y={1}", x, y); } } }
C#继承构造函数的调用的基本情况就向你介绍到这里,希望对你学习和掌握C#继承构造函数的调用有所帮助。
“C#继承与构造函数的调用实例”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!