C#构造函数间的调用

构造函数(Constructor)是类中特殊的方法,多用于初始化实例的数据成员,在实例化new时被自动调用。构造函数的特点:
1、函数名和类名总是相同
2、没有返回值
3、任意数量(通过重载Overload)
4、构造函数间可以相互调用
5、如果没有显式定义,那么系统提供一个不带任何参数的Public的构造函数。

C#构造函数间可以相互调用,调用方式如下:

class bank
    {
        public string FirstName;
        public string lastName;
        public decimal Balance;

        public bank()
        {
            this.FirstName="";
            this.lastName ="";
            this.Balance =100;
        }

        public bank(string a, string b, decimal c)
        {
            this.FirstName = a;
            this.lastName = b;
            this.Balance = c;
        }

        public bank(string a, string b) :this(a,b,1500)
        {
       
        }
    }

 
C# 中,构造函数调用是可以重载的。这意味着你可以定义一个基类的构造函数,然后在派生类中提供多个不同的构造函数,这些构造函数会隐式地调用基类的构造函数。这种方式通常用于初始化基类的属性或者执行一些通用的设置操作。 当你创建一个派生类的对象时,如果没有显式指定哪个构造函数调用,编译器会选择最适合当前上下文的那个构造函数。如果在派生类中定义了一个或多个构造函数,它们可以接受不同数量或类型的参数,以便处理多种初始化场景。 例如: ```csharp public class BaseClass { public int Value { get; set; } // 调用基类无参构造函数 public BaseClass() => Value = 0; // 定义一个带有一个参数的构造函数,用于初始化Value public BaseClass(int value) => Value = value; } public class DerivedClass : BaseClass { // 可以在DerivedClass中定义新的构造函数,它会自动调用BaseClass的某个构造函数 public DerivedClass(string name) : base(name.Length) // 或者直接base() { // 这里可以进一步初始化DerivedClass特有的字段 } } ``` 在这个例子中,`DerivedClass` 的 `DerivedClass(string name)` 构造函数会根据传入的 `name` 参数,选择合适的 `BaseClass` 构造函数(在这种情况下可能是默认的无参构造函数或 `BaseClass(int value)`)。当实例化 `DerivedClass` 对象时,无需显式指定哪个构造函数使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值