C#构造函数的一些注意点

1、静态构造函数

静态构造函数就是用static修饰符声明的构造函数,主要功能是用于初始化静态数据,或者执行仅需执行一次的操作。

静态函数通常在任何类成员被访问之前执行。

注意静态函数不能有任何访问修饰符,也不接受参数。

例子如下:

class CreateDateTime {
        public static DateTime CreateDate;

        static CreateDateTime() {
            CreateDate = DateTime.Today;
        }
    }

该类用来储存当前日期。


2、从构造函数中调用其它构造函数

有时一个类需要多个构造函数,但总有代码重复的部分,可以在一个构造函数中调用另一个来简化代码。

例子如下:

    class Student {
        public string Name;
        public int Age;

        public Student(string name, int age) {
            this.Name = name;
            this.Age = age;
        }

        public Student(string name) : this(name, 14) {
        }
    }
例子中,假设学生默认为14岁,可以仅用学生的名字来初始化类。

3、派生类的构造函数

若某个派生类的基类仅声明了一个带参数的构造函数,那么该类的构造函数必须显式调用基类的构造函数,并把必要的参数传递过去。因为派生类在构造时会默认调用其基类的无参构造函数,若不显式调用基类带参数的构造函数会发生编译错误。

例子如下:

class Scores {
        private string _studentName;

        public Scores(string name) {
            _studentName = name;
        }
    }

    class English : Scores {
        private int _englishScore;

        public English(string name, int englishScore) : base(name) {
            _englishScore = englishScore;
        }
    }
派生类为学生的英语成绩,需要调用基类构造函数来初始化学生名字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值