00:00
按照我们中国的这个习俗,是不是肯定可以啊,啃老中国有不少是不是?所以当当孩子没有东西的时候,是可以找父母要的,正是因为有这种关系,你才可以要嘛,所以呢,我们在实例化对象的时候,对象里边什么都不带,你需要就找他要,你需要就找人要,这样的话,他没必要把信息复制出人份出来,是不是我一份了,你看我这里边类装置信息,下面四个对象想要信息找着要就可以了,只占用一份的资源。但是你如果把上面的这个类的信息一人一个对象发一份的话,是是每个人都有了,是不是也不用找你要了,但是你别忘了整个系统资源会增加四份,所以呢,为了简化就没必要这样加了,这次大家知道为什么打印对象出来的数是空的吧,嗯。好来,接下来还没有完啊,一这一块算是第一层,我们理解面向对象类和对象关系的第一层啊,然后来看一下干什么事的成员属性啊,成员属性操作,成员属性的操作好,要想进行成员属性的操作,我们在这里边,那还是分类呗,无非就是访问操作,是不是修改操作,然后添加操作,然后删除操作好没问题,当然这次需要注意全是对象的对不对,删除操作好,我现在希望访问对象。
01:18
PC对象是不是PC啊,里边的CPU啊,点CPU就可以了啊,当然你需要看的话得打印一下啊,好,那这样一来的话,我们直接打印PC的CPU,右键运行一遍。你会发现,哇塞,它真的有数据啊,但是你会看他成员里边又没有,为什么呢?因为当我们程序向电脑,我们向电脑要信息的时候啊,电脑没有信息,没有信息它会自动反向找他的类去查找,所以实际上你电脑里没有,但是那里有,它依然可以访问到这个信息,明白了吗?啊这就是为什么我们现在可以访问出CPU,而对象里又没有CPU,原因,好,没有问题,来接下来看print,我们看一下这什么其他的信息行不行,Print访问一下我们这个,呃,硬盘吧,第好右键运行一遍,你会发现都可以访问的,没问题,看到没有,没有就找这要没有对象就找这要好访问到此结束,那修改呢,来把这个注释要啊来看一下我们的修改操作。
02:16
修改操作就很有必要了。修改就很有必要了啊好。来看一下修改它奇怪在哪里啊?要想改一个东西,大家好像也知道,无非就是pc.cpu是不是,然后等于一个新的,比如说再给他一个I9的行不行,I9的CPU原来是I7的吧啊给一个I9的CPUI9什么7890行不行,给个I9CPU好,然后呢,好多说这这改成功了吗?不知道,首先在修改之前先给大家打印一遍原有的信息。那么这里边PC点下线下线DT大家都知道啊,这个PC里边是空的是不是,所以没有东西啊,还是空的是不是还是空的,上面那个我没注释啊,你可以把上面这个注释了。
03:02
整体来说,你要想打印这个对象,这个对象里边什么都不存的,是不是大家看了我改了,我把当前这台电脑注意看了,是当前这台电脑对象,那CPU改成I9了,右键运行一遍。好,没有变化,我们再次打印这个对象的成员信息来看啊,右键运行一遍。大家就会发现,诶,对象里出东西了,里边有个CPU了,是不是,而且是I9的,是不是也说你修改成功了,没有成功了,那为什么你修改的东西又要保存到对象里边了,这回再返回这张图来看啊,那大家都知道有我们刚才这个电脑类做出的这四台电脑肯定都是什么呀,ICP对不对,但是你想想啊,这这其中的有一台电脑的CPU啊,有一台电脑的CPU。我给它升级成了I9,升级成了I9,请问我升级这台电脑会影响其他电脑吗?答案是否定的,这玩意儿是不是,你比如说我买一台电脑哈,这个我买一台品牌电脑,这个品牌电脑是I7的是不是,那这台电脑,这种电脑又不是只有我买,全世界很多人都买啊,那难道我把我的电脑CPU升级了,全世界的这这个型号电脑都给你升级了,不可能,因为对象是不会影响到另一个对象的,所以你如果想对对象的成员进行修改的话,一定不能影响其他的对象。
04:25
很多说。那我改类的怎么就影响其他对象了?你别忘了,如果说我不在这里边改啊,我不在这个对这个对象里边改,而把这个修改交给了类来改,那就相当于把类改成了I9,把类改成了I9之后的问题在于什么呢?问题在于你看好了你这台电脑还是找类要的,岂不是全世界电脑统统升级为I9了,这是不可以的。所以我们如果对对象进行修改,它修改的内容一定是存储在当前对象里边了,因为他不能够通过修改当前对象影响别人的对象。
05:02
明白了吗?说一个更简单的例子哈,那大家都是人类吧,是不是?你也是人做出来的,你也是人类制造出来的对象,我也是人类做出对象,那我现在把自己给自杀了是不是?你会死吗?不会啊,因为我们是互相独立的对象,不可能因为我自杀了引起到你啊,是不是?所以我就要把我自杀这个心写到我的身上,而不能写到人类身上,那我要写人类身上,就是我死了人类就灭绝了是不是?所以这是不合理的啊,这次知道为什么修改的时候会让我们的成员信息进入对象了吧?啊,因为对象之间不能互相影响吧。好,来接着看啊,那这个修改也就OK了,修改完了之后来看添加啊,添加其实跟修改就一个道理了,是不是我自己穿了一件衣服,不能说全世界人都穿了一件衣服呀,所以要先添加也是没有问题的。print首先先看我们当前电脑点下线下线DD上线下线里边依然是空的,因为我把上面添加注释了,里边依然没有东西,对不对,那我现在加一个,我给我的电脑贴个膜行不行,那就是PC啊,点close CS,呃,Th close等于叫。
06:08
钢化膜行不行?钢化膜我给自己电脑贴了膜,是不是?那全世界的电脑都会被贴膜吗?那自然不会啊,只有我电脑被贴膜的,所以你会发现我添加的信息啊,它和修改的一样,依然只影响当前的电脑对象,下线下线诶,别走第二下线下线第CT啊。下斜下线,然后右键运行一遍,你会发现我这个电脑啊钢化膜加进去了,看到没有加进去了,当然很多时候它真的不会影响到整个类吗?不会啊,你看一下类呗,类是不会因为你对象给修改的。Copy点下线下线DD你可看一下类中是不可能出现钢化膜的,你看最后一个是类啊。有钢化膜吗?有钢化膜吗?不可能啊,类可以影响对象,但是对象不能反过来影响类啊,就这个东西。好。这种感觉就像什么呀,就像是那种,嗯,这个父母有什么基因缺陷,他生的孩子是不是因为受父母影响会有基因缺陷,反过来是不是那父母没啥问题,他孩子有基因缺陷,他不可能反过来因为他孩子有基因缺陷,导致他父母有基因缺陷了,是不是那孩子可能是变异导致基因缺陷嘛,所以这这个道理好吧,这就是我们的添加操作好了,把这个删掉。
07:22
还删除呗,那删除这个好说,因为咱就是属性就当变量来做的呗,是不是,所以删除无非就是DL呗,但是大家想的太简单了哈,别忘了你当前PC里边啥都没有啊。下线下线D。点下线下线D啊,大家都知道啊,我当前对象里边是空的,是不是没有任何成员信息。下线下线肯定空,对空的一个这个叫做什么呀?空的一个这个字典啊,没有东西啊,你想删你删谁,他都说那我可以访问CPU啊,我可不可以删了CPU啊pc.cpu啊。可以吗?答案是不可以,你在这里边删除未报错的。
08:00
看到没有,他告诉你ABLCP意思就是属性错误啊,所以在这里边是不可以删除的。叫不可以删除,不属于当前写错了,不属于当前对象的成员也是这个成员是你的你可以删,不是你的你不能删,那大家都知道这个CPU这个情况,他默认是谁的成员,成员是类的成员,对不对,你只是借用一下,所以你不可以删掉这个。明白吗?啊,你不给删掉这个,但是如果是你自己的,你可以删,比如说我在这里边添加了一个,添加一个成语,你自己加了一个,比如说刚才说贴不贴了钢化膜吗?是不是好,我在那贴了钢化膜。把这钢化膜复制一下。行,你现在自己贴了钢化膜,并且你确实可以在自己的对象里边看到这钢化膜了,看到没有,哎,不不再把上面这个注释掉啊,因为这个不能删了,右键运行一遍。你看钢化膜是不是属于你自己对象的,这个时候你删它是可以的啊B我们pc.close啊,这个可以的。
09:04
也就是说,删除的时候,只能删除属于当前对象的成员。看是不是删除成功了,是不是就删掉了啊,所以来注意一下啊,把这个稍微记一下,也是成员属性和成员方法的操作,我们先讲的是成员属性啊,成元属性好,成员属性的操作也是分为什么访问呢,修改呀,添加呀,删除啊,是不是删啊,首先访问的时候直接使用对象点我们的成员属性。然后呢,修改的时候一样,对象点乘原属性名等于一个新的值就可以了嘛,添加的时候则是对象点乘原属性名等于一个值,就变量重新赋值嘛,变量不是就是变量生命变量的效果是一样的,删除DL对象点成员属性名,但这里边需要注意,必须是属于当前对象的成员才行。
10:14
也就是说你打印这个DCT的时候,你在单对象里看得见,否则的话不是对象是类的你是删不掉的啊好,然后接着来啊接着来,那我们马上就要归快到结束的部分了,那还剩一个是什么呀,对象的成员方法对不对,好把这个就要。来看一下成员方法,成员属性分这四种操作啊,成员方法的操作也是一样啊,成员方法的操作也是分,为什么添加成员方法,是不是访问?先写访问吧。访问,然后添加修改删除啊删除面临的问题其实和成属性差不多,首先我想访问对象的成员方法可不可以访问呢?可以。
11:00
那在这里边啊,首先呢,我们直接使用什么呢?PC啊点那么大家都知道,按照我们刚刚画这张图,咱说过啊,这个类中的成员。实例化对象的时候,对象是可以反过来找他要的,对不对,没问题啊,所以我们访问播放电影,怎么访问呢?在里边通过pc.play more就可以。这种情况下调用对象的播放电电影这个功能,对象发现自己没有啊对这个电脑发现自己没有,于是乎他就找上面找他类要了类就给他了,这个功能他就可以用了,明白了吗?所以调用的时候是可以调用的。但是需要注意它和类不一样的地方在于什么呢?这里边是不需要加参数的,来右键运行一遍。你会发现哎,哪错了啊,缩进错误,这个得顶头写啊,Sorry,得顶头写啊,右键运行一遍啊。是不是电脑电影不放中没问题啊是不是,但是它是不需要加参数的,你看我们当时实例化对象的时候,明显有个self对不对,但是类访问的时候就得加个东西给它S接住就可以了,对象访问的时候是不需要加的,很多说为什么Y外外外外外Y。
12:08
很简单,因为如果用对象访问,会有一个东西自动传进去的。所以这里边不需要参数啊,它这里边和类方程和类的区别在于啊。和类访问不同啊,这个SF会自动传入一个什么呀,数据啊,一个数据,这个数据是什么,我们现在不说啊,现在不说啊,我我告诉你对象访问就不需要传值给S了,对不对?好了接着看啊,我们想添加一个可不可以加呢?当然可以了,老规矩啊,首先先打印一下,看看这个对象里边有没有什么成员属性对不对,PC啊,但是大家知道没啥成员属性对不对。方法也没有啊,所以咱无论大属性哪个方法里边都是空的,是不是空的,我想加一个,那你既然要加的是个方法,我们是不是只能给他一个函数,或者他们大表,是啊,没问题啊,确实是这么干的呀,PC啊DR加个什么功能?
13:04
加一个电脑有什么功能来打游戏玩打玩游戏,播放音乐,上网功能行不行?上网功能上上上网怎么说3W得了啊,PC点3W等于你可以写一个函数方式赋值,也可以写拉姆达表达式labd啊拉姆达冒号啊print电脑上网中行不行啊,电脑上行写错了啊,电脑上网中好搞定。然后加成功了吗?夹成功了啊夹成功了来我们再次打印,当然你加的时候对象不能影响类,咱是不是说过这事。所以它加到对象里边了,这个3W功能加到的是当前对象当中,明白了吗?啊,所以他一定不会修改类的,这就是添加操作啊好,添加操作完了之后呢,我们再来看一下我们的修改操作。那修改操作其实大家应该也会了,因为会添加,肯定会修改嘛,对不对,修改操作好,我们现在干什么事呢?PC啊点用这个播玩游戏吧,行不行,Play game好掉的时候他肯定说玩,肯定说我正在玩游戏,对不对,好了,你看好了,我现在修改了,怎么改呢?pc.play game play,因为play且不是没有啊play game啊好,这个时候我拿出来的这一部分,这是什么呀,这是它的。
14:25
Play game的名称对不对?千万别大括号啊,重新复制一个新的函数就可以了,Lamb,拉姆DA,冒号啊,你爱加参数不加这是你的事啊,一般情况下是不需要加的,然后在这里边看一下我们在这print是不是啊,叫lo中是不是lo中啊。LOL中好搞定,来,我们再次调用这个函数,你来看一下。右键运行一遍。是不是LOL中改了?原来是什么呀?原来告诉你正在玩游戏,现在告诉你LOL中对不对?而且更奇怪的在于什么呢?Print块其实也不算奇怪,大家都知道了。
15:03
小心小心,来右键运行一遍。看到没有,你的当前对象的成员中确实是多了play game。也就说白了哦,你刚刚加的一个方法,他写到了我们的什么呀。Play play下线game中也是写到你当前对象里边很多说这写下来有啥有啥有啥这个算法吗?为什么要写到对象里边,你直接改类的不就完了吗?还是那句话,你改类的是不是所有电脑都被改了?所以他不可以改为不可以改为只可以把修改的内容放到自己的对象当中,而且当有人向电脑访问play game这个操作或者说方法的时候,由于他自身已经有play game了这个功能了,所以他就不会再找他爹妈要了,就不会找来要了,明白了吗?也就是说当你访问类对象的成员他没有的时候,他会找那要有自己的时候,他就不会找,找找上面要了,就类似于你自己一样啊,你现在身上有钱,你还找你妈要钱,你好意思不好意思啊,你上没钱你才能找你父母要钱嘛,是不是有钱就不要要了吗?就这个道理啊。所以我们说过啊,整个计算机的逻辑都来源于现实,完全说得通吗?
16:13
好。来接着看啊,来接着看,在这里边看一下最后一个了,最后一个删除了,好删除就来一个问题,你删不掉啊,比如说我要删这个play game是不是play啊,Play写错了pc.play game是不是你想删它程序报错吗?是不错了,原因很简单吧,因为我把上面这个添加,我把别删game了,删一个play music吧,Musicic啊也会报错,一样的道理啊,因为这个play music这个对象里边根本就没有,对不对,他用的是类中的,所以你不可以删他,除非什么呀,你自己对象中有这个方法你才可以删,比如说啊,我在这里边给大家加一个是不是来看好了。添加一个方法啊,咱外边加一个呗,PC点电脑还有什么用来着,播放音乐,玩电影,看电影,玩游戏,呃,打字。
17:06
打打字,打字怎么说?输入啊input啊,电脑能能打字吗?是不是啊,PC等于啊,这个这个等于啊LA labd lada啊写错了不要画加引号啊。BDA拉达表达式print是不是打字中。电脑打字中。这个我们加进去的方法,在当前PC的对象中啊,是可以看得见的,联系下线下线啊,你可以看一下我们现在这个PC里边确实是有这个input对不对,你想删这个input方法是可以删掉的,是可以删掉的。右键运行一遍,删了之后不会报错,而且你再次打印的时候,你会发现input也确实被你删掉了,也确实被你删掉,说哎写错了,哎写少了个屁啊,好多了一个呀,多了一块。
18:04
好大来看一下。是不是确实的把input的这个方法删掉啊,你类属你自己有的苍删,没有的不可以删。好,来大家看把这个记一下好不好,那对于成员方法的访问操作诶。我们来记一下它的方法,好,这个方法的访问操作依然是对象点乘员方法名头括号,因为人家是函数嘛,对不对,然后想修改,那就是对象点乘员乘员方法名啊,等于一个新的什么函数,然后呢,要想添加也是一样,对象点成员方法名等于一个函数是不是?然后呢?在这里面还有删除啊。还有删除EL对象点乘圆。
19:01
成员,方法没?方法名啊,在这里边注意事项还是挺多的啊。首先我们在这里边学到了这么几个注意事项。注意事项。千万往脑子里去啊,这都是原理性的东西。第一条。声明类的时候啊,声明类的是什么什么类啊,实例化对象的时候,实例化对象的时候,通常情况下,然后呢,类中的成员不会。叫做不会。写错了不会。在对象中,对象中复制啊,复制一份。不会负这份,这是第一个,第二对访问对象时,访问对象成员的时候啊,只要没有该成员,没有该成员,那么对象会像什么呢?会像叫做实例画它的类。
20:09
来查找。也就是说啊,你想访问对象一个成员对象没有,他就会问问类有没有啊第三条啊,对象的添加和修改对象成员吧,对象成员的添加和修改,它都只会影响当前对象本身,不会影响类和其他对象。然后第四条啊,删除对象成员时,对象成员时必成员的时候啊时候必须是必须是该对象自身的成员。才可以删除。
21:00
他不可以删除类的啊,不可以删除类和其他对象的,简单的总结一句话就是对象只影响对象自己,不能影响别人呗,是不是好,这样一来的话,关于本小节当中我们类的访问啊,对象的访问就为大家介绍完毕了,好了,感谢大家的收看,我们下一小节再见,下一小节将为大家讲解我们。SF关键字S单词。或者叫S参数才对啊。
我来说两句