构造函数与析构函数

共性:编写代码时,如国有提供它们,则编译器自动添加

作用:帮助我们初始化对象(给对象的每个属性依次的赋值)

 

构造函数是一种特殊的方法:

必须public

构造的函数必须跟类名一样

 

如:

我们创建类的时候,要是想使用这个类必须要实例化这个类

Porsen duw=new porsen();

依次对每个字段来赋值;

用构造函数的话就简单了

如我在porsen类中创建一个构造函数

Public porsenstring nameint ageGander gander

{ //把参数name赋给属性Name

This.Name=name;this.Age=age;this.Gander=gander;

}

那我在实例化的时候就可以直接为字段赋值:

Porsen duw=new porsen(“杜伟”,28Gander.男)

 

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类中就可以这么调用了

原文地址:https://www.cnblogs.com/xiaowie/p/8608049.html