美文网首页
11.构造函数

11.构造函数

作者: Peuimporte | 来源:发表于2021-10-25 02:04 被阅读0次

1. 定义

当我们使用类通过new关键字来创建一个对象的时候,其实是调用了这个类的构造方法。

2. 语法

通过实现一个跟类名一样,但不带返回类型的的方法,来写构造方法。

不带参数的构造函数称为“默认构造函数”。 无论何时,只要使用 new 运算符实例化对象,并且new 提供任何参数,就会调用默认构造函数。

如下例1定义一个Car类的无参数构造方法

例1: 调用构造函数,但是不传递参数
public class Car
{ 
    public int speed;
    public Car() 
    { 
        speed = 50;
    }
 }

class TestCar
{
     static void Main()
     {
          Car car = new Car(); 
          Console.WriteLine(car.speed); 
    }
}
例2: 通过构造函数,传递初始值。
public class Car
{ 
    public int wheels;
    public int speed;
    public int weight;
    public Car(int speed, int weight) 
    { 
        wheels = 4;
        this.speed = speed; // 通过this来访问当前类的字段。而不是传递过来的值
        this.weight = weight;
    }
 }

class TestCar
{
     static void Main()
     {
          Car car = new Car(200,5); 
          Console.WriteLine(car.speed, car.weight); 
    }
}

3. 方法注意点:

方法的标识符可以一样,但是参数的数据类型的顺序不可以一致。
举例如下:

        public Person()
        {
            Console.WriteLine("1调用了Person的构造方法");
        }

        public Person(string name, int age)
        {
            this.name = name;
            this.age = age;

            Console.WriteLine("2调用了有name和age的构造方法");
            Console.WriteLine("名字是:{0},年龄是:{1}", name, age);
        }

        public Person(string aaa, int bbb)  // 这里会出现错误,会跟上面的方法分不清楚调用哪个、
        {
            //this.name = name;
            //this.age = age;

            //Console.WriteLine("2调用了有name和age的构造方法");
            //Console.WriteLine("名字是:{0},年龄是:{1}", name, age);
        }

        public Person(int age, string name)
        {
            this.name = name;
            this.age = age;

            Console.WriteLine("3调用了有age和name的构造方法");
            Console.WriteLine("名字是:{0},年龄是:{1}", name, age);
        }

相关文章

  • 11.构造函数

    1. 定义 当我们使用类通过new关键字来创建一个对象的时候,其实是调用了这个类的构造方法。 2. 语法 通过实现...

  • 11.类的构造函数

    构造函数的介绍 构造函数类似于OC中的初始化方法:init方法 默认情况下载创建一个类时,必然会调用一个构造函数 ...

  • Flutter 6种构造函数详解

    Flutter有生成构造函数、默认构造函数、命名构造函数、重定向构造函数、常量构造函数、工厂构造函数 一.生成构造...

  • C# 构造函数总结

    构造函数 构造函数分为:实例构造函数,静态构造函数,私有构造函数。 实例构造函数 1、构造函数的名字与类名相同。 ...

  • 11. 匿名对象、隐式构造、默认构造函数

    一.匿名对象 二.隐士构造函数 三. 四,友元函数 五.内部类 六.运算符重载

  • Javascript 基础之原型链

    构造函数、构造函数实例、构造函数原型 function Student (name) { } - 这是构造函数va...

  • Swift基础语法-类的构造函数

    本节知识点 构造函数的介绍 构造函数的基本使用 自定义构造函数 属性与构造函数 1. 构造函数的介绍 构造函数类似...

  • C++:面向对象基础

    构造函数 C++中有三种构造函数:默认构造函数,有参构造函数,拷贝构造函数 类对象的初始化 括号法//默认构造函数...

  • 构造函数

    构造函数分为: 1.实例构造函数 2.私有构造函数 3.静态构造函数 私有构造函数 私有构造函数是一种特殊的实例构...

  • Dart整理

    Dart构造函数 普通构造函数和命名构造函数 默认构造函数一个类没有声明构造函数,默认会有一个无参构造函数,声明了...

网友评论

      本文标题:11.构造函数

      本文链接:https://www.haomeiwen.com/subject/htzxaltx.html