构造函数(构造方法)
构造函数是类的一种特殊方法,每次创建类的实例时候都会调用它。构造函数的主要作用是在创建对象时初始化对象。一个类必须且至少有一个构造函数,如果在定义类时没有声明构造函数,那么编译器会自动生成一个默认的构造函数,如果声明了构造函数,系统将不再提供默认构造函数。
声明构造函数的要求
- 构造函数不允许有返回类型,包括void类型;
- 构造函数的名称必须与雷鸣相同(所以构造函数往往需要使用形参)
重载构造函数
class Circle //类名为Circle
{
private double radius;
public static int instanceCount=0;
//默认构造函数
public circle()
{
radius=0.0;
instanceCount++;
}
//重载的构造函数
public Circle(double initialRadius)
{
radius=initialRadius;
instanceCount++;
}
public double Area()
{
return 3.14*radius*radius;
}
}
构造函数举例
定义一个雇员类。
class Employee
{
private string name;
private char gender;
private string qualification;
private uint salary;
//默认构造函数
private Employee()
{
qualification="研究生";
}
//参数化构造函数
private Employee(string strQualification,string strName,char chrgender,uint empsalary)
{
qualification=strQualification;
name=strName;
gender=chrgender;
salary=empSalary;
}
static void Main(string[] args)
//调用默认构造函数
Employee objGraduate=new Employee();
//调用参数化构造函数
Employee objMBA=new Employee("博士","王雪娜","女",7000);
Console.WriteLine("默认构造函数输出:\n 资格="+objGraduate.qualification);
Console.WriteLine("\n 参数画构造函数输出:\n 资格="+objMBA.qulification);
}
析构函数
析构函数用于专门释放被占用的系统资源(在删除一个对象时,需要执行清理工作,释放对象被占用的资源),其语法格式如下:
~类名()
{
… //析构函数的主体
}析构函数的名字业余类名相同,只是在前面添加了一个“~”。析构函数不接受任何参数,也不返回任何值。
总结
以上是对构造函数和析构函数的一些介绍,基础知识是很重要的,希望我们都能积跬步,至千里。