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#继承与构造函数的调用实例演示
标题URL:http://www.shufengxianlan.com/qtweb/news48/338798.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联