C#类的继承,构造函数实现及其调用顺序
来源:互联网 发布:数据查询网站 编辑:程序博客网 时间:2024/06/05 20:00
类层层派生,在实例化的时候构造函数的调用顺序是怎样的? --从顶层基类开始向子类方向顺序调用无参构造.
默认构造(无参构造)和带参构造什么时候调用?--默认将从顶层父类的默认构造一直调用到当前类的默认构造.
下面是C#继承构造函数实现及调用示例:
- /**//*--===------------------------------------------===---
- 作者:许明会
- 日期:类的派生和构造函数间的关系,调用层次及实现
- 日期:2009年7月18日 17:30:43
- 若希望类能够有派生类,必须为其实现默认构造函数. (重点)
- 若类没有实现带参构造,编译器将自动创建默认构造函数.
- 若类实现了带参构造,则编译器不会自动生成默认构造.
- --===------------------------------------------===---*/
- using System; //C#继承构造函数实现及调用
- namespace xumh
- {
- public class MyClass
- {
- public MyClass()
- {
- Console.WriteLine("MyClass:默认构造函数");
- }
- public MyClass(int a, int b)
- {
- Console.WriteLine("MyClass带参构造:a={0}, b={1}.", a, b);
- }
- }
- public class MyClass2 : MyClass
- {
- public MyClass2()
- {
- Console.WriteLine("MyClass2:默认构造函数");
- }
- public MyClass2(int a, int b)
- {
- Console.WriteLine("MyClass2带参构造:a={0}, b={1}.", a, b);
- }
- }
- //C#继承构造函数实现及调用
- public class MyClass3 : MyClass2
- {
- public MyClass3()
- {
- Console.WriteLine("MyClass3:默认构造函数");
- }
- public MyClass3(int a, int b)
- {
- Console.WriteLine("MyClass3带参构造:a={0}, b={1}.", a, b);
- }
- }
- public class runMyApp
- {
- static void Main()
- {
- MyClass3 my = new MyClass3(3,4);
- }
- }
- } //C#继承构造函数实现及调用
- /**//*--===------------------------------------------===---
- 输出如下:
- MyClass:默认构造函数
- MyClass2:默认构造函数
- MyClass3带参构造:a=3, b=4.
- --===------------------------------------------===---*/
- C#类的继承,构造函数实现及其调用顺序
- C#类的继承,构造函数实现及其调用顺序
- java继承的构造函数调用顺序
- C#类的继承中,构造函数的执行顺序
- C#继承与构造函数的调用
- C++构造函数的执行顺序及析构函数的执行顺序-多种情况:普通继承、虚拟继承、类构造函数调用其它类的构造函数
- C++虚继承(七) --- 虚继承对基类构造函数调用顺序的影响
- 多继承时的构造函数调用的顺序
- Java中继承关系的构造函数的调用顺序
- C#继承|继承中构造函数的调用
- C++继承关系中构造函数的调用顺序
- java关于继承中构造函数的调用顺序
- C++中多重继承构造函数调用的先后顺序
- c# 关于继承类中构造函数的实现
- C++类的继承中构造函数和析构函数调用顺序例子
- C++继承构造函数调用顺序问题
- C++多继承构造函数调用顺序
- C++继承中构造函数调用顺序
- sed 命令
- 存储区域网(SAN-Storage Area Network)
- CreateThread用法
- php框架之美 yii学习笔记之一
- 临时测试的链表小程序!
- C#类的继承,构造函数实现及其调用顺序
- jQuery基础总结
- 第一届“小李木耳杯”乒乓球比赛落幕 2011年2月27
- Vista/Window7上UAC相关问题/Manifest/WINSXS/PCA
- 建立唯一的单文档实例
- 从事BI的一些心得
- Plan9 Environment Variables -- Notes of Introduction to OS Abstractions Using Plan 9 from Bell Labs(III)
- android之进程与线程
- WebKit的结构与解构