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#构造函数的运用浅析
- 学习C#构造函数的一点体会
- C#静态构造函数特点浅析
- C#静态构造函数学习心得浅析
- C#继承构造函数实现浅析
版权声明:
作者:后浪云
链接:https://www.idc.net/help/405169/
文章版权归作者所有,未经允许请勿转载。
THE END