构造函数与析构函数
共性:编写代码时,如国有提供它们,则编译器自动添加
作用:帮助我们初始化对象(给对象的每个属性依次的赋值)
构造函数是一种特殊的方法:
必须public
构造的函数必须跟类名一样
如:
我们创建类的时候,要是想使用这个类必须要实例化这个类
Porsen duw=new porsen();
依次对每个字段来赋值;
用构造函数的话就简单了
如我在porsen类中创建一个构造函数
Public porsen(string name,int age,Gander gander)
{ //把参数name赋给属性Name
This.Name=name;this.Age=age;this.Gander=gander;
}
那我在实例化的时候就可以直接为字段赋值:
Porsen duw=new porsen(“杜伟”,28,Gander.男)
New关键字
1) 在内存中开辟空间
2) 在开辟空间中创建对象
3) 对对象进行初始化,将各个属性赋值
创建对象的时候会执行构造函数
构造函数是可以有重载的
类当中会有一个默认的无参数的构造函数,当你写一个新的构造函数之后,不管是不是有参数的还是无参数的,那个默认的无参数的构造函数都被覆盖掉了.如:
我们在clerk类中创建了一个构造函数
Public clerk(string name,int age)
{
This.Name=name;
This.Age=age;
}
那我们在program类中在用这个初始化就是提示错误
Clerk duw=new clerk(); //报错,因为你创建构造函数的时候那个无参数的被覆盖了
解决:可以在clerk类中在写一个构造函数无参数的
Public clerk()
{
}
Clerk duw=newclerk();//这样在program类中就可以这么调用了