构造
-
构造方法有什么作用?
-
构造方法的类型
1.无参数构造
public Course()
{
CourseId = 10001;
CourseName = ".NET全栈开发、上位机开发";
Type = ".NET系列";
//在这里还可以编写读取相关文件或者从其他数据源读取的方法或逻辑...
}
2.有参数构造
public Course(int courseId, string courseName)
{
this.CourseId = courseId;
this.CourseName = courseName;
// this.CourseName = this.courseName; //也就是说成员变量和局部变量同名的时候,一般是就近原则取变量
//如果我们需要舍近求远,则必须添加this
}
public Course(int courseId, string courseName, string type)
: this(courseId, courseName) //在构造方法之间调用,代码复用计数
{
//this.CourseId = courseId; //跟上方的代码重复
//this.CourseName = courseName;
this.Type = type;
}
对象初始化器的使用
Course course1 = new Course()
{
CourseId = 2000,
CourseName = "C#上位机课程"
};
相较之前的几种方法:
Course course4 = new Course();
course4.CourseId = 100005;
course4.CourseName = "新课程";
Course course3 = new Course(666,"china","牛逼");
//构造方法
构造方法和对象初始化器总结
- NOTES
1.计算机在构建对象的时候,会初始化所有的成员变量,然后调用构造方法。
2.如果同一个对象创建很多次,计算机的内存不会越用越大,会被定时清理掉。(这也是c#和c++的区别,c++是随时创建但要随时清理,不然会造成内存泄露,程序崩溃)
对象的销毁
关于析构函数
在c++中,可以使用delete,然后跳出对应的析构函数进行清理
//析构函数
~Course()
{
Console.WriteLine("对象被释放,析构函数被调用...");
}