base调用父类的带参构造

90 阅读1分钟

先让父级有带参构造法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace base关键字
{
    class Father
    {
        public String aa = "aa";
        protected String bb = "bb";
        private String cc = "cc";

        public Father() {

            Console.WriteLine("father gouzao");
        
        
        }

        public Father(String m)
        {
            Console.WriteLine("father gouzao"+m);

        }

    }
}

再让子级触发父级带参方法

子级构造方法调父级方法,传参数

运行结构

当子级类也需要带参初始化时候

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace base关键字
{
    class Program
    {
        static void Main(string[] args)
        {
            Son s = new Son("张角");

            Console.ReadKey();
        }
    }
}

收到子级参数传给父级参数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace base关键字
{
    class Son:Father
    {
        public String aa = "son aa";

        public Son(String con):base(con) {
            Console.WriteLine("son gouzao");
        }

        public void func() {
            Console.WriteLine(this.aa);
            Console.WriteLine(base.aa);
            Console.WriteLine(base.bb);

        }
    }
}

结果