00:00
创建新文件。说一下构造函数可以创建与类名相同的方法来生命构造函数,例如。一个类。呃,它有两个属性,我们申明一个与匿名相同的方法来明一个勾的函数,这里呢?它接收两个参数,一个是X,一个是Y,在这里面使用this关键字来访问。
01:02
属性,然后将传入的变量复制给他。访问内中的Y属性,将传入的变量复制给他,那么这样就定义了一个构造函数。This关键字引用的是当前实力,像使用this关键字调用当前属性这种模式非常普遍,因此呢,De尔提供了一种语法糖呃注ice掉。point.x x.Y这个勾子函数。与之前定义的构造函数呢,它是等价的,这里呢,在大数中,与内米相同的各大函数只能有一个。
02:05
这与其他语言中可以拥有多个同名构造函数不同。为了实现相同的功能,我们可以将传递的参数放入八括号中以变成可选参数,这样呢,就可以通过向各大函数传入不同的参数来创建不同的实例了。先这掉这个。你将参数传入花炮中,使他们变为可选参数,这样就可以通过传入不同的参数来创建实例。例如我们来创建一下,比如说X,那么等于一。
03:01
第二个呢?X2,那Y呢,第三再次创建一个实例呢,我们不为他传递参数啊,这样都可以啊,这三种创建实例的方式呢,都是通过同名构造函数完成的,我们来分配打印一下三个实例的。属性。
04:12
呃,打印。
05:07
我们来分类打印一下,那么很显然,P1这个实例我们只传入了XY,没有传入值,那么Y的值呢就为空,第二个呢,我们为X和Y都负了值,因此都能取得值。第三个实例呢,我们没有传入参数,因此呢,它的两个属性呢都为空。如果在定义一个类时为生名构造函数,那么将为此类提供一个默认构造函数,默认构造函数没有参数,并会调用复类中的无参构造函数。也就是说,当我们没有为力定义构造函数呢?它会自动。为例,生成一个构段函数,该各段函数没有参数,如果我们不生明它啊,也会自动为为概率从减该构的函数。
06:14
然后我们说一下,命名构造函数可以通过附加的标识符来生明同命名构造函数,使用命名构造函数可以为一个类实现多个构造函数,以满足明确的使用场景。例如,我们为你提供一个origin。的的函数。没电。加上标识符。
07:06
那么这个格子函数呢?就是命名格子函数,我们可以直接调用它来创建一个实例。例如。我们来打印一下。没。那么它的十的话呢,是通过在秘密格子函数中完成的,就是我们在生命一个秘密格子函数。
08:12
你给他传入一个map类型的对象。然后呢,我们创建他的新实力。我们通过秘密函数from Jason来传入对象,传入一个map类型的对象。
09:08
同样我们来打赢他该对象的实力。买打一下。那么这样呢?又通过秘密构造函数from Jason创建了一个新的实例。
10:02
所以说初始化列表。可以在构造函数主体运行之前初始化实例属性,在构造函数的括号后面使用冒号引导,初始化列表用逗号分隔初始化语句,初始化列表表达式等号的右边不能使用this关键字。例如我们改造一下。同明哥大喊说,From Jason。在各大函数后面使用冒号来引导列表。那么XX减X等于X等于,然后语句之间使用多少分格?Y等于。喂。
11:02
然,然后我们在构造函数的后面使用冒号引导了初始化列表。这一块呢,就是初始化列表,第一个呢,通过传入的map对象为X负值,第二个呢,通过传入对象为Y值,需要注意的是在等号的右面。不能使用this关键字。左边可以使用,然后我们来再运行一下。我们可以看到啊,没有任何影响,然后我们说一下从定向构造函数,有时构造函数唯一的目的呢,是从定向到另一个构造函数。从定向构造函数的主体为空,构造函数的调用出现在冒号的后面内容,我们再定义一个命名构造函数。
12:09
那么它的目的呢?是为了从定向的另外一个构造函数后面使用this。X。第一个。在冒号后面调用的是同命格的函数。与这个函各造函数,这里X的值呢是这里的值通过这里传入的值,Y呢是默认设定的,设定为九,那么这样一个格子函数呢?它的目的呢是从定向到这这样一个个子函数中,因此呢。这个构造函数被称为呢?从定向构造函数,我们来创建它的实例。
13:06
我们来打印一下它。一下。啊,那么可以看到它的70的创建成功了。
我来说两句