00:00
看看这个,呃,根据刚才讲的这些东西呢,我一共总结了八点啊,总总结了九点,把这个九点讲完了以后,我们就用办事对象来解决,回头再去解决这个问题。啊,这样把这个问题解决,你就心里面就更清晰了,啊,先把这个细节小结走一下,其实前面讲的已经大部分都走过了,只是整理一下大家这个比较混乱的思路,因为讲课这个东西呢,你想一次听懂很难,所以说我一般是先讲个大概,然后再总结,然后再一个案例,好,这样大家就很清晰了来看。首先第一句话,开中半生对象采用object的关键词声明没问题,刚才通过这个案例已经看到了半生对象中生命的全是静态的内容,注意我用引号引起来的,那就说明这个静态呢,我们要打两个引号。说明他其实是模拟的。那说老师你模拟的,你说他到底怎么模拟的呢?其实刚才我把这个流程已然给大家画了一个图,他就是这样模拟的。
01:04
其实这里面一个关键的东西是它。你知道他怎么实现这个这个这个静态吗?其实他所有的东西都是围绕这个静态的model,因为我也也就是说SKY了设计的,它是怎么搞的呢?它是这样搞的,你可以创建很多很多的sky person,你创建一个两个,100个都行。100个1万个都行,但是你这个开person里面的这些内容,这静态内容你只能通过它去调用。通过谁去调用,通过他的半身。半生这个类类里面的有一个猫就来来调用,而这个猫就是一个斯坦提克,那你这个是个斯坦提克,就意味着始终只有一个,那这样就相当于。就是静态了嘛,你静态的本质是不是就是说只有一个嘛,你看它其实是通过这个假货来你,你只要是访问这里面的内容,你只要是访问这个static person里面内容,你的这个入口只有一条线,哪条线就是它。
02:11
那既然是他,那我就能够保证。实现了静态效果,是不是这个道理,肯定是这个道理嘛,那肯定就说你你怎么你从这怎么访问,最终只能通过他去,而这个东西只有一个。效果就出现了。好,我们第一个。细节我说完了,说第二个半生对象对应的类称之为半生类,刚才讲过了,半生对象的名称应该和半生类名保持一致,如果你不保持一致,两个就是两回事了。我问大家一个问题啊,既然我讲到第二个细节,我请同学们思考一个问题,如果说我把这个改成二。各位朋友,如果说我把这个改成二,请问请问这种代码是不是还是没问题。哎,我问大家一个问题啊,如果我这写写了一个class person2。
03:01
那么这两者之间你们认为还有关系吗?没有关系,那我问大家。我问大家一个问题,此时此刻,如果我编译过后,这个在底层,这个在底层是不是就会生成一个叫PERSON2的一个class,没问题吧,好,没问题,那么我问大家这个会生成几个呢?样生成两个,是不是它仍然会生成一个空的,或者是默认的一个。这个class这个就相当于说你不你不写,我默认给你生成一个半生对象,是不是只是这个半生对象是个什么玩意?呃,半半圣内,半圣内是个什么呢?是个空的啥都没有吗。啥都没有,所以它是这么这么玩的,它生成这个同时还要生成一个这个玩意儿,好现在应该大家就清晰了,那我这样运行会生成三个,三个这个,这个就是就是一个累啊,好这个我再撤回去了,我说到这我就撤回去了啊,因为毕竟我不能呃两头说话,大家反而会听蒙圈,好,我把这个撤回去,好我们再说第三一个细节,第三个题半生对象中的属性跟方法,可以通过办事对象和雷鸣直接调用,好我讲到这儿,是不是你们脑海里面马上就应该想到这个图了。
04:20
是不是这样调用的呀,诶它就这么玩的,它是怎么,它怎么就能用这个半生的,你看per,嗯,SC person.c hi。你就是用半生对象的名字来调动吗?那底层是怎么玩的呢?其实它是用的半生对象对应的那一个类里面的那一个猫就静态属性来调用的,呃,OK,好,第三一句话我们理解的也比较到位了,第四一句话,从语法角度来讲,所谓的伴生对象其实就是类的静态方法和成员的集合,当然是静态成员的集合。为什么啊,好,第五个从技术的角度来看,SC还是没有生成静态内容,只不过将半生对象生成了一个新的类,实现了属性跟方法的调用,我我为什么说这句话呢?说为什么说看了没有生成静态的内容呢?我是基于这个原因的,大家看。
05:18
我理解一下啊,比如说你看这个six。我说了半生,对象里面全是静态内容,那么这个six在底层,你看它并不是一个单提的。他不是一个13体格的,你看这它仍然是一个普通的一个属性。是这样子的吧,你看我我这写了一个c hi,这个c hi其实也是属于静态的性质,但是你在底层里面看,它仍然是一个普通的方法,所以说我说没有,实际上没有生成静态内容,它只是通过这个加货来调用,实现静态的效果。所以说我说这个这个特点呢,大家要有一个深刻的理解,最后最后一句话,从底层的原理来看,半生对象实现静态特性是依赖于这个家伙实现的,就是说它凭什么就实现了这个静态的使用呢?就是靠我们伴生对象里面这个静态的猫9DOLLAR来实现的。好,这个就说完了。最后一个,第七个,那么伴生对象的声明应该和办事内放在同一个源码文件,如果你不放在源码文件会报错,这个我就不举例了。
06:36
第八一个。Class a如果独立存在,那么A就是一个类,Object a如果独立存在,那么它就是个静态性质的对象,或者叫静态类。啊,OK,那op g GA里面生命,这个OBG里面生命的属性和方法呢,就可以通过名字来调用好,这是我们伴生对象的八个小节,好八个小节我们先待会儿再统一整理啊,讲到这儿我们干脆乘胜追击,最后还有一个第六一个特点。
07:06
第六一个特,第九一个特点,我再说一下,在一个文件中,如果存在半生类和半生对象,那么文件的图标会变变成这么一个图标。变成哪个图标呢?变成一半。二蓝色和黄色,我举个例子。同学们看这边代码,你看这你你们注意观察我这个a companyny,诶这个地方啊a company,我举一个例子吧。我举个例子,比如说这个我我我我就以这个为例啊,大家看目前这个是一个蓝色的,只有个C,就代表只有类,那我再加一个。我再加一个object test。Object test你看马上就会发生变化,同学们看这一头,呃,黄色的又来一块,那说明这里面有。有半生对象和半生类啊,就这个意思,知道就可以了。
08:02
好,讲完这个,我们快速入门一把。现在呢,九个需要同学们注意的地方讲完了,我们现在快速入门,呃,我们快速的用伴生对象来解决小孩玩游戏的问题,来把这个题用半生对象解决,快速的来完成一下。我新建一个案例。来吧,同学们。我新建,我们就以这个为例来把这个解决了啊,叫child。Child enjoy game。来,我们一起来走一遍。体验一下啊,代码都很简单,我说了啊,Class,首先我写一个child。呃,Child的,那因为前面我用了一个char的,我就给他写个叉202吧,啊,CHAR202。好,里面呢,我给每一个,呃,对象呢,有一个名字啊,默认我给他一个这样的名字,好,紧接着呢,我来写一个伴生对象。
09:00
注意看啊,差的零二。然后呢,我认为这里面有一个统计,用于统计共有多少小孩的属性,这个属性其实就是。一个大家共同享用的,那写一个啊,Va total total child。Child number,好,默认给它一个值为零。好,现在呢,我要开始来写一些方法了,写一些方法了,比如说我在这里写一个这样的方法,DF。叫做join game。Join。Draw game,好,Join game呢,我接收一个小孩,就你给我传一个小孩进来,我就提示一句话叫灵儿。我提出这么一句话,说某某小孩啊,写上啊某小孩加入了某某。小孩加入了,加入了游戏。
10:01
好,那么我格式化一下。我格式化一下同学们。好,我们慢一点啊,来换一行输出,哪个小孩呢,就是Z啊,这个名字我要从这取出来。啊,你给我传进来,我我我取到他的名字嘛,这是肯定的,好加,同时我将这个值加加。因为来这个小孩,我就得这个增加嘛,加一。加1OK,这个对我来说特别简单,就total number。啊,To number加等于一,好,然后我再写一个静态方法啊,静态的方法就是说,呃,叫show number show number这个就简更简单了,我就直接说出一句话,就说当前有这么多小孩在玩游戏。当前有这么多个小孩玩游戏,那么我来一个换行。好,写上我们total number写完了。
11:00
写完了,那写完以后呢,我们来创建小孩子。二创建小孩。好,嗯,因为我这边将来有很多小孩,每个小孩都有名字,干脆我写一个组构造器,好c name。死罪,我用主构区构建一下这个小孩的名字,代码非常简洁,写完了,那现在我们快速的来创建三个小孩。创建三个小孩来看一下代码。看到了,那么我们快速走一遍,呃,Val child的,我我去写啊,六一个child的零二啊,名字给他输进去,比如说第一个是白。白骨精啊,这个小孩点VR,对第一个小孩来了啊,零一让他下面呢,我们再来复制这么。两个小孩,一个是白骨精,第二个是蜘蛛精,对吧,一一群妖怪在这玩,这个是什么呢?黄鼠狼精啊,黄鼠狼,黄鼠狼精好,一一堆小孩都是小小妖怪,然后呢,来一个,我就将其让他跑到游戏里面去玩,那就是用child的零点状语,状语第一个小孩进去啊,第一个小孩进去,第二个第三个好。
12:14
OK,这个这个啊,我们主要是把这个原理搞清楚,同学们,不然的话,你们以后就是稍微变化一下,嗯,你就不敢动了,好,现在这个写完了以后呢,我们输出来共有小孩多少小孩啊,那就char的零二.show number,好,理论上说应该有三个,我们这个代码就是正确的。原因我也讲清楚了啊,如果这个不讲原因,你会觉得好好怪啊,这个两个没有关系的,怎么就。对吧,怎么就起来了呢?对我们运行一下,同学们请看运行效果。啊,这边会提示一堆小孩加进去了,看白骨精小孩加了蜘蛛精,黄鼠狼精,最后有三个小孩,那说明我们刚才整个分析的流程是正确的啊啊是正确的,同学们看一下代码啊,应该还是比较好理解好到此我们这个呃,办生对象和半生内的关系呢,咱们就说完了。
13:11
说完了,好,截取一段视频。
我来说两句