父类和子类的构造函数
构造函数 子类 父类
2023-09-11 14:14:22 时间
public abstract class A { public A() { Console.WriteLine('A'); } public virtual void Fun() { Console.WriteLine("A.Fun()"); } } public class B : A { public B() { Console.WriteLine('B'); } public new void Fun() { Console.WriteLine("B.Fun()"); } } class Program { static void Main(string[] args) { A a = new B(); a.Fun(); Console.ReadKey(); } }
如果把B类中的new改为override的话
输出结果就为
A
B
B.Fun()
取自http://www.cnblogs.com/jiekzou/p/4457384.html
解答:[http://bbs.csdn.net/topics/390099393]
C#中,如果子类没有显示调用父类的有参构造函数:那么它会自动调用父类的无参构造函数;如果父类没有无参构造函数,将通不过编译。
补充:一般是这么调用父类的有参构造函数的
class A { internal int number; public A(int n) { number = n; Console.WriteLine("A的构造函数"); } } class B : A { public B(int n) : base(n) { Console.WriteLine("B的构造函数"); } } class Program { static void Main(string[] args) { A a = new B(3); Console.WriteLine(a.number); Console.ReadKey(); } }
相关文章
- Dalvik模式下在Android so库文件.init段、.init_array段构造函数上下断点
- c#静态构造函数与构造函数
- C#中this在构造函数时的使用
- dart系列之:dart类中的构造函数
- C++ 构造函数_析构函数
- 关于JavaScript面向对象中构造函数和原型对象的学习与理解
- 抽象类可以有构造函数吗
- 第二十六节:复习Java语言基础-Java的概述,匿名对象,封装,构造函数
- 《JavaScript启示录》——1.3 JavaScript原生/内置对象构造函数
- 父类与子类 构造函数 变量 加载顺序
- 静态构造函数c# 静态块java initallize oc
- C++ 结构体的构造函数和析构函数
- 浅析Uint8Array语法及常见使用、Uint8Array.slice与Uint8Array.subarray区别(是否指向同一个内存空间)、new Uint8Array(typedArray)构造函数对typedArray的引用问题(保持同一个引用)、Uint8Array与String互相转换
- 《从零開始学Swift》学习笔记(Day 51)——扩展构造函数