蓝鸥Unity开发基础二——课时13 构造方法

一、构造和析构

构造方法

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

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

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

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

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

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

using System;

namespace Lesson_13
{
    public class Person{
    public string name;
    public  int age;

//构造方法——负责初始化对象
        //1、构造方法的方法名必须和类名一致
        //2、构造方法没有返回值,不需要写void

public Person(){
            
            Console.WriteLine ("Hello");
            //初始化成员变量
            name="lanou";
            age = "18";
        }
    }
    class MainClass
    {
        public static void Main (string[] args)
        {
            //使用new关键字创建对象的时候,就已经调用了构造方法
            Person p = new Person ();
            Console.WriteLine (p.name );
        }
    }
}

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

using System;

namespace Lesson_13
{
    public class Person{
    public string name;
    public  int age;

//构造方法——负责初始化对象
        //1、构造方法的方法名必须和类名一致
        //2、构造方法没有返回值,不需要写void

//3\构造方法能够添加参数
        public Person(string name,int age){
            //前面name是字段name,后面name是参数name
            //初始化成员变量
            this.name = name;
            this.age = age;

}
    }
    class MainClass
    {
        public static void Main (string[] args)
        {
            //使用new关键字创建对象的时候,就已经调用了构造方法
            Person p = new Person ("老王",18);

Console.WriteLine (p.name );
        }
    }
}

3、构造方法允许重载

using System;

namespace Lesson_13
{
    public class Person{
    public string name;
    public  int age;

//构造方法——负责初始化对象
        //1、构造方法的方法名必须和类名一致
        //2、构造方法没有返回值,不需要写void

//3、构造方法能够添加参数
        public Person(string name,int age){
            //前面name是字段name,后面name是参数name
            //初始化成员变量
            this.name = name;
            this.age = age;

}
        //4、构造方法允许重载
        public Person(){

name = "lanou";
            age = 16;
        }
    }
    class MainClass
    {
        public static void Main (string[] args)
        {
            //使用new关键字创建对象的时候,就已经调用了构造方法

Person p = new Person ();
            Person p1 = new Person ("老王",18);

Console.WriteLine (p.name );
            Console.WriteLine (p1.name );
        }
    }
}

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

using System;

namespace Lesson_13
{
    public class Person{
    public string name;
    public  int age;

//构造方法——负责初始化对象
        //1、构造方法的方法名必须和类名一致
        //2、构造方法没有返回值,不需要写void

//3、构造方法能够添加参数
//        public Person(string name,int age){
            //前面name是字段name,后面name是参数name
            //初始化成员变量
//            this.name = name;
//            this.age = age;

//        }
        //4、构造方法允许重载
//        public Person(){

//            name = "lanou";
//            age = 16;
//        }

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

}
    class MainClass
    {
        public static void Main (string[] args)
        {
            //使用new关键字创建对象的时候,就已经调用了构造方法

Person p = new Person ();
            Person p1 = new Person ("老王",18);

Console.WriteLine (p.name );
            Console.WriteLine (p1.name );
        }
    }
}

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

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

推荐视频讲师博客:http://11165165.blog.51cto.com/

时间: 2024-10-21 19:02:16

蓝鸥Unity开发基础二——课时13 构造方法的相关文章

蓝鸥Unity开发基础二——课时13 析构方法

析构方法--在对象销毁时调用,用来释放内存的 析构方法在对象销毁时调用,用于释放内存空间 一个类只有一个析构方法 析构方法没有返回值和参数,不能进行重载 析构方法有系统自动调用,不能手动调用 析构方法没有修饰符 using System; namespace Lesson_13{    public class Person{    public string name;    public  int age; //构造方法--负责初始化对象        //1.构造方法的方法名必须和类名一致

蓝鸥Unity开发基础二——课时6 方法

蓝鸥Unity开发基础二--课时6 方法 推荐视频讲师博客:http://11165165.blog.51cto.com/ 对象.方法名(实际参数); Person p=new Person(); P.Say(); 1.带有参数的方法举例 using System; namespace Lesson_06{    class MainClass    {        public class Car{        //l跑        //访问说明符  返回值类型 方法名(参数列表){语句

蓝鸥Unity开发基础二——课时3 访问修饰符

[蓝鸥Unity开发基础二]课时3 访问修饰符 一.访问修饰符 public --公共的,在哪里都能用 private  --私有的,只能够在当前机构体重使用,其他任何地方都不能 访问修饰符举例说明 using System; namespace Lesson_03{           struct Point2{        //public--公共的,在哪里都能用        public float x;        //private  --私有的,只能够在当前机构体重使用,其他

蓝鸥Unity开发基础二——课时21 泛型

本节课我们来学习C#中的泛型,泛型是一个特殊的类型,它可以最大限度的重用我们的代码! 推荐视频讲师博客:http://11165165.blog.51cto.com/ 使用泛型能够最大限度的重用代码,保护类型安全,提高性能 泛型成员因为类型的不确定性,不能使用算术运算符,比较运算符 类型参数可以有多个,可以是编译器能够识别的任何类型 类型参数的名字不能够随便起,不能重名 一.数组类Array using System; namespace Lesson_21{    //数组类Array    

蓝鸥Unity开发基础二——课时22 ArrayList

一.ArrayList 集合:集合是种容器,在程序中,使用集合管理相关对象组 集合分为非泛型集合和泛型集合 推荐视频讲师博客:http://11165165.blog.51cto.com/ 二.非泛型集合:使用非泛型集合需要引起命名空间System.Collections ArrayList--可以根据需要动态增加的数组 Hashtable--用来存储键值对的哈希表 Queue--遵循先进先出的对列 Stack--遵循后进先出的栈 三.泛型集合:使用泛型集合需要引入命名空间System.Coll

蓝鸥Unity开发基础二——课时24 字典

一,字典 Dictionary是存储键和值的集合 Dictionary是无序的,键Key是唯一的 推荐视频讲师博客:http://11165165.blog.51cto.com/ using System;//引用泛型集合命名空间using System.Collections.Generic; namespace Lesson_24{    class MainClass    {        public static void Main (string[] args)        { 

蓝鸥Unity开发基础二——课时5 字段

推荐视频讲师博客:http://11165165.blog.51cto.com/ 一.字段 我们用字段描述类的特征 Class Person{ Public string name; Public int age; } 字段的举例说明 using System; namespace Lesson_05{ public class Person{        //字段--用来描述类中的特种        //在类中,可以给字段设置初始值        public  string  name;/

蓝鸥Unity开发基础二——课时15 封装和继承

封装 封装是实现面向对象程序设计的第一步 封装就是讲数据.方法等集合在一个个单元中,我们称之为类 封装的意义在于保护代码/数据,屏蔽复杂性 一.封装能够保护代码,数据安全性+封装可以屏蔽复杂性 using System; namespace Lesson_15{    public  class A{    public  void Open(){                    Console.WriteLine ("打开");            }    }       

蓝鸥Unity开发基础二——课时1 枚举类型

一.声明枚举变量 枚举类型的变量只有赋值之后才能使用 只能讲有效的值赋给枚举变量 不同枚举中的枚举值可以重复 我们可以自定义枚举值 枚举类型举例说明: {    //定义一个新的枚举类型    enum Week{        Monday,    //周一    0        Tuesday,    //周二    1        Wednesday,    //周三    2        Thursday,    //周四    3        Friday,    //周五