00:00
除了欧汉式之外呢,还有一种实现,那种实现呢,叫做懒汉式,不叫饱汉式,不叫饱汉哈,叫懒汉式,这呢我们再写一个叫single single town,我叫TEST2,这个我我我我在这块写一下吧,这个呢,一种实现呢叫做饿汉式,另外一种实现呢,叫做懒汉式。哎,这样子,然后咱们现在呢,来写的就是单立的这个懒汉式的实现,单立模式的懒汉式实现好,仍然呢是创建当前类的唯一的实例,这呢我们还得去声明一个class行,这个class的话呢,我就不能再写bank了,因为在我们当前这个同一个包下呢,不能写两个同名的类了,那这呢我就得写个别的,嗯,写一个我就写个order吧,写什么都行啊,就是根据你实际问题,你看看是哪个类呢,需要是一个单立的,你就造这个类就行了,我这呢写成这个order,这个第一步的话呢,没有变化,必须仍然呢叫私有化类的构造器,所以我还是private order一下这样好,这是第一步,然后第二步,既然呢你不能在外部呢去创建当前类的对象,那还得是在内部呢去创建对象。
01:29
只是呢,在内部创,内部创建的时候呢,我们并没有说一上来咱们就给它做了一个new,你要这块呢,立马写个new,相当于呢,这叫A函式,那懒汉式的话呢,先写成是个no。我先呢不给你去创建,所以这个第二步呢,我们就相当于是先声明当前类的一个实例,当年类的一个变量吧。
02:00
嗯,声明当前类,这样当前类对象现在只是一个声明,没有初始化,没有初始化,然后呢,我们给他造对象这个事呢,放在这个方法当中去提供,那方法的话呢,仍然你得提供一个public的了,反复类型呢,就是你当前你这个类的一个对象,所以是order类型,叫get instance行,在这里边我们去返回。啊,所以这呢,我们就相当于是叫声明,声明一个叫public的啊,然后还得是一个静态的,嗯,返回当前类对象的这个方法。啊,这个呢,咱们也知道了,一会你要测的时候,这个方法仍然不能在外边呢被调用这个通过对象的话,所以我们得直接让它通过类呢去调,还得加上这个static,加上以后我们调这个方法的时候呢,你给我返回一个对象,现在呢,你肯定不能是return ince了,这样的话呢,就成功闹了,我们得在里边去拗,嗯,里边去拗,但是呢,你又不能怎么着呢,你看我这样写对不对?
03:10
我去一个叫order,然后呢这样做一个return。嗯,那这个这个我们先说这个问题吧,这个inces呢又在这个静态里掉了,所以这块呢,是不是仍然得一个static啊,这跟咱们刚才说的是一样,生命当前类的对象没有初始化,然后这呢也补一下,这个叫第四个点,这呢叫哎,此对象也必须。声明为叫static直接呢,大家按照这几个逻辑往下推,这个呢,你都不用你去死记硬背就可以把这个单例呢写出来,好,这块呢先不报错了,那问一下这样写对吗?你看这成啥了?我每调一次方法是不是就拗一个对象呀,那就意味着是这样了,我们这呢,我声明了一个这样一个变量,这个变量呢,你第一次调的时候呢,这块扭了个对象,把这个地址呢付给他了,然后的话呢,我又调这个方法的时候呢,是不是又给扭了个对象,把这个地址呢也给他了,这就相当于你会调多个呃,创建多个当前类的对象了,这就不对了。
04:22
这就不能这叫算叫单,就是确实你每次到时只有这一个,但是不是呢,之前唯一的那一个了,这不行,那应该怎么写呢,判断一下对吧,说如果呢,我们这个instance你是等等一个no。你要是个闹,说明呢,你还没有创新过对象我呢,就在这里边给你做一个实体化。你要是不是闹的话呢,我就把你return了,这样是不是就可以了,你要是个闹的话呢,我在这造完以后呢,出来接着给你return呗,所以这个代码呢,这就这样去写,这样写,这样写完以后,我们在这块呢来测试一下。
05:09
那测试这个代码呢,我们可以跟刚才写的其实就一样了啊,这个order我写一个叫ORDER1,等于直接通过这个类点叫get instance,然后我再去调一次,这个叫ORDER2,然后此时呢,我们判断一下它俩的这个地址呢,是不是一样的。这个地址一样的话呢,这个只能说明他俩是用的同一个对象啊,用的是同一个对象,那同时呢,因为我们这个代码当中呢,就拗过这一次。所以呢,没有再去翻来覆去的换对象。哎,这要注意一下,好把这种方式呢,咱们称作叫懒汉式,一个呢饿汉式一个懒汉式主要区别呢,应该说是在这块,通过这个呢去区分。那通过这个去区分,这个是能知道一个是叫懒汉式,一个叫二汉式,但是大家呢,别记反了,别记反了,那怎么大家能够有个小技巧去记一下,哪个是懒,哪个是饿呀,啥时候用啥时候造,这是什么呀,这叫懒汉式,嗯,那饿呢饿呢,是不是一上来就给你造好呀。
06:29
那这样呢,大家可以这个稍微有点技巧性去记了,那那先说这个懒也行,这个懒的话呢,就是你要不用的话呢,我就不着急给你造,就像大家中午准备这个分享一样,还有还有还有五个人才轮到我呢,反正这周还没到我呢不着急逼不得已了,不得不上的时候呢,就在前一秒刚想好要讲点啥,这就属于懒汉式是吧,就是不得不上的时候,这就该上,那这个呢叫懒汉室,那饿汉室呢,你可以理解成他比较饿嘛,比较饿,所以上来呢就给他拗好一个对象,就是比较比较饥渴,上来就先给捏个对象,就得造一个对象是吧,就是生活中的对象啊,哎,就是我们一上来的话呢,就先把这个对象呢,先给你准备好,然后呢,你要用的时候呢,直接拿过去用就行,哎,这是这样的一个逻辑,哎,大家呢,别写反了,有可能呢,你在笔试当中,人家明确说了。
07:29
说写一个单立模式的恶汉式,你就别给整成懒汉式了,你要说懒汉式,你就别写成恶函式了。如果他要是没说的话呢,写哪个呀,没说写哪个,那就涉及到这两个有什么区别了,那下边呢,咱们说一下这两个。
我来说两句