00:00
添加那就是直接使用类。名点名不对啊,类名。点乘员属性名等于值的方式,就变量赋值嘛,所以成员属性的操作其实和什么呀,和变量是不是差不多呀,和变量一样啊,只不过在前面的时候,你得叫出哪个类的变量,哪个类的变量就那么个意思啊,那相对于乘员方法呢?好,成员方法这里边我们访问的时候该怎么操作呢?来把这个属性的注册掉好吧。那这样一来的话,关于成员属性的操作就已经完了,对不对,成员属性完了之后,给大家看一下成员方法的操作,成员方法。好成员方法的操作也分为什么呀,访问然后呢,添加修改以及删除啊添加修改以及删除操作好在这里边我们先来看一下啊,如何访问成员方法吗?访问成员方法不就像这访问函数一样,不就调用函数吗?那怎么用呢?好访问的时候,比如说我们现在希望访问它播放电影的功能。
01:10
那么这个时候你就应该这样通过类名点啊,就是com。点play我们的。呃,播放电影move对不对就可以了,但是你这样程序运行的时候是会报错的,来运行一遍程序啊,会报错的,看见没有,他告诉你播放电影缺失了一个必要的参数传入,也就说白了,你在定义我们这个类中成员方法的时候,是不是自动加了一个算法,但是你在调用的时候又没有给别人参数,那自然参数对不上要报错了,所以你可以在里边随便写一个参数,随便写什么都写个123也无所谓啊,但是我写个那个只是告诉你这里边儿随便传个参数就可以了,运行编程序,你会发现电脑电播放电影中对不对。啊,当然大家应该知道啊,你像没买到电脑播个屁是不是?所以这个情况下访问是没有问题的,访问是没有问题,但实际上我们不推荐这么做,而且类中抽样方法这样访问是没有问题的,来看一下添加,那我想在这个给这个电脑加一个功能,能不能加呢?那大家想了啊,原来成员这个类中的这个叫什么来着?成员方法不就是个函数吗?那我不就写一个函数直接复制给他不就完了吗?你说的没错,如果你想添加一个功能,确实可以这么做,比如说我们在里边添加一个什么功能呢?
02:28
呃,电脑还能干嘛,还能,呃,办公行不行?办办公怎么说?办公work行不行,办公啊,添加一个work功能,Work功能首先呢,在这里边啊,我们可以。干什么事呢?定义一个函数。看好了叫定义一个函数,定义一个函数,然后呢,在这里边D咱就叫它work work work套上括号,然后呢写上print,是不是电脑使用电脑办公中啊,使用电脑办公中好没有问题,然后呢,我想把这个函数添加到这个类里边,能不能加呢?能啊。
03:14
这就相当于加一个什么呀,变量一样的,因为方法本质也是变量嘛,是不是来copy点我。然后等于我们的work。当然大家会有疑问说哎呀,这个work和我们前面这个和我们这个类里边的work会不会因为同名出现问题啊,不会不会啊,注意看好了,这个work相当于什么呢?相当于地球上的work,而这个work是月球上的work,两个work之间虽然名字一样,但是互不干扰,就相当于我叫从浩,别人就不能叫从号吗?可以别的地方也叫从浩了,你不能拦着人家是不是?所以可以啊,那我们这相当于就把一个函数work复制给什么呀?这个电脑里边一个叫work的成员属性,当然你要说啊,我理解不了,那你就写成office也行,这样也行,那无非就添加了一个office成员了,就不叫work成员了,是不是好?
04:06
Work啊好,那这样来的话,我们添加成功了吗?成功了我们可以在这里边通过干什么事呢?打印我们电脑computer点消息来进行查看啊。D啊,DCT下线下线来进行查看,你会发现里边确实是多了一个的啊,你看一下这里边往后拉,应该在最后边那块啊。看到没有,是不是确实多了一个work是没有问题的,确实多了一个work没问题的,但是这种方式我们不推荐大家用啊,不推荐使用,因为我们一般也不会给类这么加,就是虽然能这么做,但不这么做,为什么?你看一下别人的方法和你的方法是不太一样的。你看这个play music,它会告诉你是一个类里边的播放音乐,而你自己家的它告诉你就是一个work,也就是说它程序就知道你这个work根本就不是人家自带的,而是后边强加给人家的,但因为这种用法我们也平时也用不上,所以大家只需要了解可以这样用,但是没有必要这样做就可以了,好吧啊,当然你添加的时候也可以不写一个函数赋值,而是使用什么呀,而使用拉达表达式也可以啊,也可以使用lambda拉姆达表达式。
05:19
表达式添加啊都可以啊,但是大家注意啊,拉姆达表达式也是函数嘛,是不是本质上是一样的?好了,那我们先把这两个记一下行不行?要想访问成员方法,这叫简单类名啊,点方法名啊,套上括号就可以了,我想进行一个添加,咱刚刚也说了类名啊,类写错了啊,类名。点新的方法名,直接等于一个函数就可以了啊,等于一个函数就可以了,当然这块也可以,也可以是拉姆达表达式啊。也可以是。Lamb拉姆达表达式。也可以啊,表达式表达式。
06:03
好,但是不常用啊,但是不常用,好,那我们看一下我们能不能修改类中的成员方法呢?这有什么不能的,因为什么呀,成员方法再说到底,它本质上也是一个变量,因为乘以方法的本质咱说和函数一样,而函数的本质是不是也是变量,所以诶,那这个方法自然也可以重新赋值了,好,我们来给大家看一下修改操作,我们就以播放电影为例,行不行,首先呢,在这里边啊,你正常情况下啊,调用一下我们电脑里边的play啊,More play play more。哎,随便写一个参数给他行不行,那是可以播放的,没有问题啊,没有问题是不是电脑播放电影中,然后呢,我想修改一下,这怎么改呢?你把这个play move当做一个变量来用就可以了,所以修改的时候直接copy.play mode,然后咱们不调用它,重新复制一个新的东西就可以了。给他一个函数也行,给他一个方法也行,随你便啊,比如说我们这次使用拉姆达表达式吧,行不行,拉姆达表达式,然后呢,在这里边啊,我们的参数是没有的,直接写上一个print框框。
07:07
电脑在电影暂停中行不行?电影暂停中啊,电影。暂停中,好,那么我们改成功了吗?改成功了你看首先我运行程序不会报错的,说明我们真的是没有报,没有写错什么语法对不对,但是很多时候,那我再次调用play可不可以呢?可以。但是你需要注意啊,因为这次你把play move给它的是一个函数,而这个函数并没有参数,所以你不能传藏进去啊,什么都不能传,这就是为什么我们不进行添加类成员和修改类称的原因,因为你加或是改的跟人类原本的要求是不一样的啊。来又要一行一遍,你看电影是不是暂停中了,说明你确实把人play mode给改了。但是改之前人家是带有S的,看见没有很多说改之后可不可以带个SF,哼,不可以啊,原理性的东西是不一样的啊,因为之所以人家能带S,是因为人本来就在类里边才可以加,你不在类里边是不能加S的啊,这个SF我们马上就要讲到了,好了,但是修改操作啊,当然也不推荐你这么做。
08:14
删除也可以删除,那当变量来删不就可以了吗?没错啊,首先我们先打印一遍我们类中的信息,Copy点下线下线点。然后呢,所有的原来定义的都会在里边哈,你想删谁就删谁,比如说我想把这个内存删了行不行?E删内存干嘛,我们应该删方法对不对,我看一下方法啊,删方法的话,咱把这个放电影放放电影play more给它杀了行不行,那在这里边D我们popular啊,点play play more。别加这别加那个什么括号,加括号是调用对不对,所以这块千万一定不要加括号啊。一定不要加括号。因为我们这里边是把它当变量来删除的嘛,是不是,所以再次打印我们的popular第二小学校用D。
09:06
你就会发现少了一大长串啊。好,下线下线来,右键运行一遍程序好两次输出绝对会少一个play mode啊,你看它play play music再往后拉。是不是短了一大截,短的那节就是play mode play mode被我们删掉的一个特征零点吧,好了,这样一来的话,关于我们的类的成员,访问啊,获取呀,删除啊,修改呀,是不是都给大家讲了,是不是管它是成属性还是成份,都给大家进行了一个操作。你看我给大家写的很清楚了,上面成员属性的,上面成员方法的,以及最开始的,累完了之后开始进入下一个阶段对象的操作,而且这块操作还有点小问题在这里边啊,还有一点小问题在里边,好问题在哪呢?不用着急,我们下面开始自己操作一遍就能找出问题所在了。
10:00
然后呢,我们看一下,呃,这个对象的成员信息获取咱已经做了,是不是跟这个什么呀,跟这个类似一样的点嘛,是不是都写了,好把这两个补全了,接着往下操作好不好。修改就是啊,类名点方法名等于一个新的函数,是不是就可以了,我想删除Del类名点方法名即可。然后呢,类的操作完了之后来看一下对象的操作。来,我们来看一下对象成员的操作。好,首先呢,老规矩,对象成员操作之前把前面注释掉啊,我应该已经注释了啊,已经注释了,注释了好来打开这个啊,我们看一下这个。检测对象中成员信息检测的时候我们会发现里面什么都没有啊,里面什么都没有,是不是空的是不是,为什么会有这种现象呢?好,这是因为,呃,给大家画图吧,不画图你还没还没法讲啊。
11:02
来给大家打开我们的画图板,画作板画作板画作板画作板的。画画画图板附件。画图板好。然后大家请注意,然后呢,在这里边,当我们十当我们创建一个类,或者叫做书写一个类的时候呢,类的成员属性和成员方法是都可以写进类在这里边的,比如说这是比如说这是一个类,给大家稍微改一改,比如说我们这里边有一个类啊,这里边有一个类。好,然后呢,类自身它带了一个用于存放信息的内容啊,这个东西我们还没讲到,大家也不着急啊,这是我们的电脑类,电脑类。写错了。电脑类,嗯。电脑类好,那大家都知道这个类可以实例化对象,是不是,那能实例化几个对象呢?答案是无数个,你想想啊,我有一张图纸,我可以盖几张楼,你愿意盖几张盖几张对不对?我有一个什么呀构造,我有一个这个电脑配置单,你想买,你想买几台电脑,你爱买几台买几台是不是都可以啊,所以本质上啊,或者叫实际上一个电脑类是可以实例化出无数个电脑的。
12:14
无数个电脑了,你想谁画几个就使画几个,是不是没人拦着你啊?所以呢,我们可以在里边稍微给大家画图,让家看的更为详细一点啊。好,电脑类再往下拉。然后呢,我们想用电脑类实例化出一个电脑对象,没有问题,电脑对象给你啊,我们实例画出了,假如说我们实例化了四台电脑行不行,这四台电脑啊,分别是电脑一,电脑二,电脑三电脑四啊。真正的电脑了啊。这个咱叫他电脑一啊,电脑一这个电脑B啊呸,电脑二啊电脑二,这个叫电脑三三啊,这叫电脑四啊电脑四电脑四,当然上面这哥们是类啊,上面这个是类,下面这些东西通通都是对象啊,这个大家需要注意一下啊,怎么画空心的啊,给大家圈起来啊。
13:08
这些都是对象啊,这些都是对象。电脑类的对象啊。电脑类的对象这里大家注意一下好,然后呢,在这里边啊,我们刚刚干什么事呢?写类的时候,是不是给类里边添加很多成员啊,没问题啊,确实加了很多成员,然后重点重点的啊,我们在类里边为这个电脑类加了什么CPU啊,内存啊,这些东西是不是都加进来了好。你加了CPU之后,很多时候是不是在类里边写的,你在类的结构里写的不错,但实际上类它自身带了一个存放信息的一个东西啊,这个东西呢,叫做类对象啊,有点绕,这个对大家来说有点绕啊,简单的说就是带带背了一个背包,能装信息的背包好不好,我们刚刚在类里边所声明的什么呢?什么CPU啊,诶,它会存在这里边,什么内存呢?Me more会存在里边,还有什么这个硬盘呢,是不是也存在里边,还有什么显卡呀,显卡怎么说啊,不不不是加显卡叫什么显示器啊,Display啊,DSPY显显示器啊等等这些信息啊。
14:18
红色吧。通通都在类里边是存在的啊,你可把它看作一个整体啊,人家就在类里边存在的。当然刚刚咱还是不是加了一些什么播放电影,Play play play下线Mo Mo Mo VI,还加了什么play music music,还加了p play下线game。我们刚刚加的那些方法呢,好,他也都在我们的类中存在着,也在类中存在的。没问题啊,都在啊,颜色我给你换个呗,这样的话好认一点啊。好,没问题,你家的成员属性,成员方法都在类里边,那为什么我们在之前打印类的成员信息的时候,就是这个最开始这个啊,用这个DST这个打印的时候,能看到你定义的所有内容,很简单,就是因为你定义的时候它确实是在类里边,明白确实在类里边,所以电脑类本身是一个大的整体啊。
15:17
这是我们的电脑类,我也给大家画个圈吧,行不行?这画个什么圈?画一个绿圈吧。这个部分是我们电脑类啊,这是我们的电脑类。电脑类的全部,电脑类的全部全部很多说你下面不写电脑类,这怎么又是电脑类哈,注意啊,这个是电脑类的本身电脑类它自身还带了一个包啊,这个包就是它自己的包啊,但是两个是分开的啊,然后这个时候呢,我们可以把它整整体成为电脑类的这个全部信息啊,然后呢,再回来看啊,为什么你当时打印类的时候有信息,打印对象的时候就什么都没有呢?是不是空的什么都没有啊,很简单啊,你看好了,我写类的时候已经在里边写了七个成员了,对不对?成数期四个方三个,然后呢,你想我如果实例画出来了几个呢?我如果实例画出来了四个对象,然后呢,又要把这些信息写到四个对象里边。
16:15
要把这东西再写到对象里边,一份啊,两份啊,三份啊,四份啊,而且大家发现这些东西基本上都一样,不能说完全一样,但基本上都一样是不是?所以如果按照这种方式啊,就是我实例化对象,把对象的成员都给类,不是实例化对象,把类中对象,类中成员都给对象一份的话,那么没问题,程序是可以运行的,而且也很合理,但是问题在于什么呢?你的电脑资源可能扛不住,你看本来一份的东西吧,什么呀,我写了一份,大家都一样的,然后你非得什么呀,一人发一份,这样的话会导致你的内存占用更多的资源,CPU占用更多的资源,明白了吗?所以程序为了简化,也是为了乙,其实也并不影响操作啊,为了简化,如果说我们在类中声明的成员,它就直接放到类里边了。
17:04
对象里边不需要存一份的,因为对象知道是谁做出来的,所以当他有需要的时候,他找他要就可以了,也就是说因为有这条线牵着,你就可以找他要。就比如说啊,假如说我们的父母是不是生了我们,所以我们可以认为什么呀,父母是我们的类,我们是父母的对象,那你现在什么呀,还是可能小,也可能不想,是不是你没有钱,可不可以找爹妈要。
我来说两句