基类带参数的构造函数c#

   public class g
    {
        public int x;
        public g(int i) { x = i; }
    }

   public class f : g
    {

        private int y;
        public f():base(4) { y = 0; }
        public f(int i):base(3) { y = i; }
        public f(int i, int j):base(4) { y = j; }
        static void Main()
        {

        }
    } 

 

base 是关键.c#是单继承.不用担心.

C#中,派生类继承基类时,若要调用基类构造函数,可使用`base`关键字。以下是不同情形下的写法示例: ### 调用基类无参构造函数 ```csharp using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BaseClass_test { public class BaseClass //基类 { public BaseClass() //基类无参构造函数 { Console.WriteLine("子类调用基类的无参构造函数"); } } public class DerivedClass : BaseClass //子类 { public DerivedClass() : base() //子类构造函数调用基类无参构造函数 { } static void Main() { DerivedClass Bs1 = new DerivedClass(); } } } ``` 此例中,`DerivedClass`的构造函数通过`base()`调用了`BaseClass`的无参构造函数。 ### 调用基类有参构造函数 ```csharp using System; // 基类:Animal需要名字才能‘出生’ public class Animal { public string Name { get; set; } // 基类构造函数:必须传入名字 public Animal(string name) { Name = name; Console.WriteLine($"基类Animal出生了,名字是:{Name}"); } } // 派生类:Dog继承Animal public class Dog : Animal { // 用base调用基类构造函数 public Dog(string dogName) : base(dogName) { Console.WriteLine($"派生类Dog出生了,名字是:{Name}"); } } class Program { static void Main() { Dog myDog = new Dog("旺财"); } } ``` 这里,`Dog`类的构造函数借助`base(dogName)`调用了`Animal`类的有参构造函数。 ### 基类存在多个构造函数 ```csharp using System; namespace BaseClass_test { public class BaseClass //基类 { int Number; public BaseClass() //第一个构造函数 { Console.WriteLine("子类调用基类的第一个构造函数"); } public BaseClass(int i) //第二个构造函数 { Number = i; Console.WriteLine("子类调用基类的第二个构造函数"); } public int GetNumber() { return Number; } } public class DerivedClass : BaseClass //子类 { // 这个构造函数调用第一个基类构造函数 public DerivedClass() : base() { } // 这个构造函数调用第二个基类构造函数 public DerivedClass(int i) : base(i) { } static void Main() { DerivedClass Bs1 = new DerivedClass(); DerivedClass Bs2 = new DerivedClass(1); } } } ``` 在该例子里,`DerivedClass`有两个构造函数,一个使用`base()`调用`BaseClass`的无参构造函数,另一个使用`base(i)`调用`BaseClass`的有参构造函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值