00:00
这块说完了,我们接下来再说一个东西啊,我们来说个什么呢?说一个这个13叫做一个这个对象,还是回到我们这个对象的这个话题,那这我来干嘛呢?我来写个script的标签对象呢,我们来干嘛呢?我们来创建一个这个对象,创建一个对象直接挖一个obj,等于一个大块,然后我这来什么呢?Obj里来一个这个name name来一个这个孙悟空,然后呢,来一个这个age,来一个18,来一个这个J音低旃来一个来我是不是创建这么一个对象啊,然后再写一什么呢?写一个这个c name,然后来一个这个function,创建这么一个对象,然后呢,在这来一个alert,一个这个z.name诶是不是创建好这么一个对象啊,这个对象里有三个属性name h粘点,还有一个方法叫做一叫做一个c name啊c name来,那我们现在这一调什么呢?OB接点一个c name1保存,是不就是孙悟空啊。
01:00
那孙悟空,那现在创建一个呢,不过瘾,我希望干嘛呀,再创建几个,来一个OBJ2 ob2我来谁呢?来个猪八戒,猪八戒呢,28也是男,也是这么一套,然后呢,再来一个,来一个谁呢?来一个OB尖三创建一个三号对象,我们这个沙和尚,沙和尚呢,38也是南,也是c name,那现在我这来一什么呢?来一个obj3.1个c name,它出来就是谁呀,是沙和尚obj2.c是不是就是哎猪八戒呀,哎这么一个效果,我们这创建了三个对象啊,创建了三个对象,诶,但是我们发现创建了三个对象,这三个对象它有什么。有什么问题呀,这三个对象是不是这么,我是不是创建的有点有点笨呀,怎么有点笨呀,我是不是这对象我怎么创建过来的,CTRLCCTRLV,我是不是复制粘贴过来的呀,这东西我这创这种创建方式,它是不是有点有点麻烦呀,假如说我现在需要干嘛呀,我要创建十个对象,我是不是得复制十次呀,哎,是不是不方便我们这个大批量的去生产这个对象啊,那怎么办呢?我希望我创建对象这种方式能干嘛呢?能简单一点,或者换句话说,我希望什么呢?能优雅一点,至少这件事干起来呢,不要不要像这么这么笨。
02:22
那怎么办呢?怎么办呢?诶我们程序员呢,有一个特别优良的一个这个一个好的一个习惯,什么呢?就是懒,什么叫懒呀,就是看到麻烦的事儿呢,就干嘛呀,就不愿意干,一看这事呢,干嘛呀太麻烦了,我们干这种事儿是不是是不是太low了呀,那我们想是不是能用一个什么呀,更简单的方式来干这个事儿呢?哎,但是注意啊,懒是一个优良的传统,但是懒不意味着什么呀,不干懒你要干嘛呀,你要想办法去偷懒啊,想办法去偷懒,那这个事儿我们怎么来给他整一下呢?你会发现我创建对象的过程当中,是不是有大量的重复性的代码啊,诶那注意了以后凡是你看到这种大量的重复性代码,你第一个想的事是什么,我能不能把这些重复的东西给它提取出来呢?
03:21
提取到哪呢?提取到一个函数里,一个方法里,然后在我调的时候,我是不是直接把这些东西干嘛呀,是不是直接调一下函数就行了呀?诶那我们这块能不能提出来呢?来,那我把这些都给它删掉,那接下来呢,我们来说一种创建对象的方式叫什么呢?叫使用我们这个工厂方法干嘛呢?创建对象工厂,什么叫工厂啊。哎,工厂是不是可以批量生产呀,你给我原料,我给你干嘛呀,我给你生产生产产品,而我们这干嘛呀,你给我原料,我给你生产对象啊,可以大批量的生产对象想要多少要多少,那我们来说一下,那怎么写,那既然是个方法,我们先定义这么一个什么呀,函数来一个function叫一什么呢?C create pon叫什么呀?哎,叫做一个造人是吧,Create person,创造一个人的这么一个方法啊,因为我们这个对象是表示的是一个人的信息啊,哎,一个人的信息创造一个人的方法,那我们来看这函数里我要怎么写呀,那你这个方法解成干嘛呀,我们通过该方法可以什么呢?哎,通过该方法可以什么呀?可以大批量的怎么样?哎,创建对象吧,哎,创建对象,那么来一想,那你第一步得干嘛呀?
04:44
你是不是得先创建一个新的对象啊,哎,创建一个新的对象怎么创建,直接挖一个obj等于一个new的一个object,这是不是创建一个新的对象啊?当然我要问你了,这两个object是不是一个?
05:01
这是局部的,这是全局的吧,他们俩不是一个啊,应该注意不是一个,然后干嘛呢?你创建完新对象干嘛呢?哎,将我们这个新的对象干嘛呢?返回怎么返回啊,Re return一个欧接吧,诶欧接,那现在我们这函数什么效果呀,来我直接来写了啊,直接来一个Y一个这个OBJ2等于什么呢?等于一个可瑞的一个person,那现在我问你,我这OBJ2应该是一个什么?是不是就是一个新的对象啊,来一个cancel.log一个OBJ2,我这一保存,咱们来看是不是一个object呀,诶但是同学看到这说了,感觉你这么写好像有点神经病,为啥呢?因为你这么写跟你。这么写是不是一样的呀,而且这么写里边是不是还麻烦的写一堆啊,大家注意了,我们现在这个对象是在哪创建的,是在这个函数里创建的吧?哎,那我们能创建对象,我能不能向对象里添加属性啊,你要注意现在我这个OB第二这个对象还是什么呢?空的吧,里边是不是什么也没有啊,来在我们这儿来看我这一刷新是不是空的呀?哎,空的那我干嘛呢?我创建完新的对象以后,我来干嘛呢?向我们这个对象中添加属性,来一个OB接点name等于一个孙悟空,然后来一个OB接点H等于一个18,然后来个OB接点一个粘的等于个这个南,然后来一个OB接点一个这个c name等于什么呢?一个function,我们这来一个这个alert,一个这个this.name我是不是写这么一套,这么一套啊,那现在我问你这回我。
06:49
再通过可person这个方法创建的对象,它还是不是一个空对象,这个对象里边是不是有这么四个属性了,三个属性一个方法对吧?来我这保存,咱们再看这你刷新name edge沾方法那块给你隐藏起来了,是不是都有了呀?诶都有了就不是一个空对象了,那以后我们再想创建对象我干嘛了,我是不是直接这个可了,这里边这一堆代码我是不是都不用写了。
07:17
对吧,来我们看看效果啊,来一个Y一个OB3等于一个这个可锐的一个person,再来一个Y一个OB间四等于一个可锐的一个person,我是不是这就又碰见了三个对象了,来我这一输出走走来一个三来一个四保存咱们看效果这一刷新诶是不是三个对象啊,但是朋友看到这儿可能觉得不对劲,你不是说叫造造人的这个对象是吧?你造一堆猴是吧?你这个东西他只能造谁呀?只能造孙悟空吧,我想造个沙盒尚,是不是造不出来呀,为什么呀,你这内edge粘的是不是都血死了呀?你写死了,那你还不如上边这种方式,上面这种方式是不可以灵活去使用啊,而这种方式呢,就变不了了,所以注意这东西能不能写死了,不能写死了怎么办?
08:11
哎,我是不是得从外边传进来呀,我要想创建孙悟空,我给你传一个,我要见谁呀,孙悟空我想创建猪八戒,我给你传一个,我是不是要创建猪八戒呀,所以注意这个name age真的是不是都应该是从外边传进来的呀,从外边怎么传呀?哎,是不是参数传进来呀,所以我这块呢,再定义三个参数,Name一个,Age一个粘一个,那现在呢,我这一块我就不等于孙悟空了,等于谁呀?Name这块我就不等于age了,等于谁?哎,不等于18了,等于谁呀,Age这块我就不等于男的,等于什么呀?詹点是不是就OK了呀?诶,OK了啊来,那这回我们再看,但是你现在一创建呢,这对象就更有意思了,一保存你一看呢,是不是都是按你干的呀?诶因为你是不是没传呀,好,我这传一个第一个我们来谁呢?来一个小猪吧,猪八戒年龄呢,来一个28,然后我们这来一个,这个性别来。
09:11
这个这个男是不是就一个猪八戒了,然后再来一个,再来一个谁呢?来一个这个白骨精,然后我这来一个这个十八十六性别呢女,这再来一个这个什么呢?哎蜘蛛精,蜘蛛精呢,18女,我是不是创建了这个三个对象啊哎,创建了三个对象,我这一保存咱们来看,再看这一刷新猪八戒白骨精蜘蛛精是不是都有了,哎都有了,来那我这来一个来一个什么呢?来一个obj4.1个c name1保存走,你是不是蜘蛛精啊,诶来一谁呢?来一个obj3.cname是不是白骨精啊,哎白骨精啊,那这里边呢,你就创建了三个对象,那你会发现什么呢?我这种创建对象的方式和我上边这个哪个方面呀,是不是明显像这方面呀,我只需要传什么呀,传三个属性。
10:11
是不是行了,其他的东西是不是都在我们这个函数里封装起来了,哎,那这种方式呢,更方便我们去批量的去创建这个对象,相对来说比较干嘛呀,比较简单一点啊叭,较简单一点,什么叫为什么叫工厂啊,就什么呀,你把这些属性给它传过去,它给你返回什么呀,返回对象,这里边这些重复性的代码我们都不用干嘛了,不用再去写了啊,不用再去写了,好,那这个呢,是我们创建对象的第一种方式,使用我们这个工厂方法来创建这个对象,我们这儿呢,先停一下。
我来说两句