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

来源:互联网 发布:java构造set get方法 编辑:程序博客网 时间:2024/04/28 22:58

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;        }    }
派生类为学生的英语成绩,需要调用基类构造函数来初始化学生名字。

1 0
原创粉丝点击