• 关于C#中派生类调用基类构造函数的理解 base使用


    些文参考

    本文来自CSDN博客,http://blog.csdn.net/cj205/archive/2008/12/05/3449828.aspx

    只是用来记录,已防止时间长了忘记,同时也可以给需要的同学用。

    原文写的已经很好了,只不过第3、4运行会有错误,试一下就知道了。

    我改造了一下。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                MyDerivedClass my = new MyDerivedClass();
                MyDerivedClass my1 = new MyDerivedClass(1);
                MyDerivedClass my2 = new MyDerivedClass(1,2);
                Console.Read();
            }
        }
    
        public class MyBaseClass
        {
            public MyBaseClass()
            {
                Console.WriteLine("我是基类无参数的构造函数");
            }
            public MyBaseClass(int i)
            {
    
                Console.WriteLine("我是基类带一个参数的构造函数");
    
            }
    
        }
    
        public class MyDerivedClass : MyBaseClass
        {
    
            public MyDerivedClass()
                :base()
            {
    
                Console.WriteLine("我是子类无参构造函数\n");
    
            }
    
            public MyDerivedClass(int i)
                :base(i)
            {
    
                Console.WriteLine("我是子类带一个参数的构造函数\n");
    
            }
    
            public MyDerivedClass(int i, int j)
            {
    
                Console.WriteLine("我是子类带二个参数的构造函数\n");
    
            }
    
        }
    }

    运行结果 

    从代码和运行结果中可以看出

    派生类构造函数如果没有使用base就默认继承基类无参构造函数,如果用base指定了,就是继承指定基类构造函数。

  • 相关阅读:
    SpringMVC从Request域中获取数据
    SpringMVC重定向
    SpringMVC的请求转发的三种方法
    SpringMVC文件上传
    SpringMVC处理请求释放静态资源的三种方式
    jackson实现json转换
    SpringMVC之请求部分
    SpringMVC的执行流程
    Java [Leetcode 39]Combination Sum
    深入解析Java对象的hashCode和hashCode在HashMap的底层数据结构的应用
  • 原文地址:https://www.cnblogs.com/stalwart/p/3009408.html
Copyright © 2020-2023  润新知