【蓝鸥AR/VR开发基础二】 构造和析构

蓝鸥(www.lanou3g.com)是一家集产、学、研、创为一体的综合性移动互联网研发培训机构,致力于iOS开发、Unity3D游戏开发、Android开发、HTML5前端开发和Web安全攻防等技术人才的培养。

一、构造和析构

构造方法

构造方法时一个特殊的方法,负责初始化对象

构造方法名必须和类名一致

构造方法没有返回值,但可以有参数,能够重载

构造方法可以不写,系统会自动为类添加一个无参数的默认构造

如果将构造方法设置为Private,就不能给你再使用此构造创建实例

【蓝鸥AR/VR开发基础二】 构造和析构_第1张图片

1、构造方法初始化成员变量实例代码

usingSystem;

namespaceLesson_13

{

publicclassPerson{

publicstringname;

publicintage;

//构造方法——负责初始化对象

//1、构造方法的方法名必须和类名一致

//2、构造方法没有返回值,不需要写void

publicPerson(){

Console.WriteLine("Hello");

//初始化成员变量

name="lanou";

age="18";

}

}

classMainClass

{

publicstaticvoidMain(string[]args)

{

//使用new关键字创建对象的时候,就已经调用了构造方法

Personp=newPerson();

Console.WriteLine(p.name);

}

}

}

2、构造方法能够添加参数

usingSystem;

namespaceLesson_13

{

publicclassPerson{

publicstringname;

publicintage;

//构造方法——负责初始化对象

//1、构造方法的方法名必须和类名一致

//2、构造方法没有返回值,不需要写void

//3\构造方法能够添加参数

publicPerson(stringname,intage){

//前面name是字段name,后面name是参数name

//初始化成员变量

this.name=name;

this.age=age;

}

}

classMainClass

{

publicstaticvoidMain(string[]args)

{

//使用new关键字创建对象的时候,就已经调用了构造方法

Personp=newPerson("老王",18);

Console.WriteLine(p.name);

}

}

}

3、构造方法允许重载

usingSystem;

namespaceLesson_13

{

publicclassPerson{

publicstringname;

publicintage;

//构造方法——负责初始化对象

//1、构造方法的方法名必须和类名一致

//2、构造方法没有返回值,不需要写void

//3、构造方法能够添加参数

publicPerson(stringname,intage){

//前面name是字段name,后面name是参数name

//初始化成员变量

this.name=name;

this.age=age;

}

//4、构造方法允许重载

publicPerson(){

name="lanou";

age=16;

}

}

classMainClass

{

publicstaticvoidMain(string[]args)

{

//使用new关键字创建对象的时候,就已经调用了构造方法

Personp=newPerson();

Personp1=newPerson("老王",18);

Console.WriteLine(p.name);

Console.WriteLine(p1.name);

}

}

}

4、如果没有类添加构造方法,系统会提供一个默认构造

usingSystem;

namespaceLesson_13

{

publicclassPerson{

publicstringname;

publicintage;

//构造方法——负责初始化对象

//1、构造方法的方法名必须和类名一致

//2、构造方法没有返回值,不需要写void

//3、构造方法能够添加参数

//publicPerson(stringname,intage){

//前面name是字段name,后面name是参数name

//初始化成员变量

//this.name=name;

//this.age=age;

//}

//4、构造方法允许重载

//publicPerson(){

//name="lanou";

//age=16;

//}

//5、如果没有类添加构造方法,系统会提供一个默认构造

//默认构造

publicPerson(){

}

}

classMainClass

{

publicstaticvoidMain(string[]args)

{

//使用new关键字创建对象的时候,就已经调用了构造方法

Personp=newPerson();

Personp1=newPerson("老王",18);

Console.WriteLine(p.name);

Console.WriteLine(p1.name);

}

}

}

5、如果将构造方法设置为Private,就不能给你再使用此构造创建实例

如果我们将某个构造方法设为私有的,就不允许再通过这个构造创建对象

二、析构方法

析构方法——在对象销毁时调用,用来释放内存的

析构方法在对象销毁时调用,用于释放内存空间

一个类只有一个析构方法

析构方法没有返回值和参数,不能进行重载

析构方法有系统自动调用,不能手动调用

析构方法没有修饰符

【蓝鸥AR/VR开发基础二】 构造和析构_第2张图片

usingSystem;

namespaceLesson_13

{

publicclassPerson{

publicstringname;

publicintage;

//构造方法——负责初始化对象

//1、构造方法的方法名必须和类名一致

//2、构造方法没有返回值,不需要写void

//3、构造方法能够添加参数

publicPerson(stringname,intage){

//前面name是字段name,后面name是参数name

//初始化成员变量

this.name=name;

this.age=age;

Console.WriteLine("构造");

}

//4、构造方法允许重载

privatePerson(){

name="lanou";

age=16;

}

//5、如果没有类添加构造方法,系统会提供一个默认构造

//6、如果我们将某个构造方法设为私有的,就不允许再通过这个构造创建对象

//默认构造

//publicPerson(){

//}

//析构方法——在对象销毁时调用,用来释放内存的

//1、每个类只能由一个析构方法

//2、析构方法不能有返回值

//3、析构函数不能有访问权限修饰符

//4、析构函数不能带有参数,更不能重载

//5、析构函数由系统自动调用,不能手动调用

~Person(){

Console.WriteLine("析构");

}

}

classMainClass

{

publicstaticvoidMain(string[]args)

{

//使用new关键字创建对象的时候,就已经调用了构造方法

//Personp=newPerson();

Personp1=newPerson("老王",18);

Console.WriteLine("主函数结束,程序准备退出");

//Console.WriteLine(p.name);

//Console.WriteLine(p1.name);

}

}

}

【蓝鸥AR/VR开发基础二】 构造和析构_第3张图片

你可能感兴趣的:(【蓝鸥AR/VR开发基础二】 构造和析构)