00:00
好,等一下我看一下啊。那我们下面呢,需要去看两个重要的数据啊,一个是对象,一个是函数。嗯,我们先来看一下对象,其实大家以前也学过,那我们来过一遍。首先第一个问题啊,什么是对象?嗯,找个人说说啊,正飞你笑什么呀飞。就为你也像是吧。干啥呢?你憋脸,脸都憋红了。
01:00
怎么了?大点声音,你你,你要想坐着说话,你就大点声音,好吧,大点声音。嗯。什么,刚才说啥?你干啥呢,你?行,换一个吧。啊。找一个罗桥。对象是用来对用来。我的,嗯,行,差不多坐下吧,坐下来啊,呃,首先我们在想啊,就是我们现在说的对象肯定是编程中的对象是吧,那我们为什么想到我们前面是不是有变量这个概念是吧?而且我们说了变量可以存数据,那对象是不是也是用来存数据的,那既然有了变量来存数据,我为啥还用对象来存数据呢?
02:24
是吧,那也就是说肯定是对象存数据比变量存数据,它应该有它的一些优势。那现在我们就要说它的优势是什么?一个变量是不是就乘一个数据啊,那简单来说,我的对象可以成什么多个数据?我们可以把它看成一个多个数据的封装体,或者是嗯,保存啊,用来保存多个数据的有个概念叫叫什么容器。
03:12
容器这个概念应该大家有吧,说白了就是一个框是吧,里面可以放多个东西呗。这啊,而我们就可以把这个框称为什么,是不是对象啊,而这个里面的东西是什么呀。是对象什么东西,是不是属性呢?啊好,而一个一个程序中的对象啊,一个对象来说一下,一个对象代表现实世界中。的一个什么。是不是一个四五,这个能不能懂啊,譬如说举个例子,我我搞出一个配角叉。搞出这样一个一个对象出来,里面有内蒙啊,还有什么呢?哎,这个这个怎么回事。
04:12
有点奇怪了,还来一个age大小。我要马上用一下它它什么好像那个格式有点小不一样,嗯,行,大家想我现在现在是不是创建一个对象对吧?呃,这个对象是不是相当于某是用来代表一个人的呀。是吧,而这一个人是不是就现实中的一个事物,大家想一个事物他是不是有很多数据组成的一个事物难道就一个数据吗?不太可能吧,一般是不是他身上有多个数据,那我们要想用编程的语言去描述现实世界中的一个事物。
05:01
啊,我们就要用对象来描述,能懂吧,嗯,能懂那行,那大概呢,就是这样,对象好,那为什么用对象,刚才其实已经说过了是吧。啊OK,我们对象是用来去存储多个数据的,你存储以后是不是后面要用啊,其实就有一个概念叫管理,也就是我不用对象能实现了。可不可以,可以,那如果我不用对象,我想去存储这个,其实数据就这两个是的,不,那我得怎么办,我得在外面是不是定义两个变量,我得这么做吧,过一个A级啊,等于12是吧,啊现在还好,就在就两个变量是吧,那我一个对象上面是不是有可能有十个20个甚至30个属性,有没有可能有,那如果你不用对象的话,你是不是应该用N个30个20个属性去做一个人,还好,我可能是不是有多个人。
06:19
那变量的数量是不是不断的上升了。能不能理解啊,这样的话,我们应该对它进行统一的管理,这个是很正常的一种情况,看好对象是怎么组成的?对吧,现在我写的是不是两个属性啊,我换一个名字啊,这个名字不太好是吧,来个P吧,还有什么数据。方法是吧,啊,来一个方法,我们看怎么写啊,这个是什么。方形呗,是吧,那写完方形以后,这里面这里一般要写什么,既然是。
07:07
写什么,是不是里面呢?z.name等于,那我能不能用SA可不可以可以来一个放线接着。你们写什么?接着z.H等于H。那现在我相当于是不是定义了一个对象是吧,而这个对象里面,它内部是不是所有都是它的数据,只是这个数据我们可以把它分为两类。一类叫什么属性能不懂啊,另外一个叫什么方法。那现在我问大家,这个方法你怎么区别出来方什么是方法,什么属性呢?
08:01
我问大家方法是属性吗?是不是啊,它是一种特别的属性,特别的哪条。特别在哪里,这个我们可以称为一般属性,对不对,这个这两个下面两个我是不是称为特别的属性,特别在哪里啊,也就什么样的属性才能称之为方法呢属性。我们说属性,它其实是分为两个部分吧,哪两个部分属性名和属性的什么子。这个能不能懂,好那好了,也就是说属性是由属性名和什么属性子组成,有不懂好,那属性名是什么类型,本质上都是字符串,你说我是五,你看你写这个,你这不是写的字符串啊。
09:21
我能结,可以。你平常这么写吗?不会这么写,为啥不这么写,对麻烦对吧,麻烦,那也就说在设计那个语言的设计来说,他知道所有的属性名都是字符串,不会是别的类型。但是写起来又麻烦怎么办?在书写语法的时候,他是不是就允许你不写那个单引号或者双引号?是不是在语法级别上给你做了一个优化,让你能够轻松一点,但是并没有改变你的属性名是字串的这样一个特点吧?
10:03
能不能懂啊,那属性值是什么类型呢?什么类型,任意类型。那你说什么样的属性称之为方法呀?很简单,什么属性值是什么函数,其实非常简单是吧?什么样的属性称之为方法?其实非常简单了,就是属性值,如果它是个函数,那我们还称这个属性为属性吗?我一般我们会称它为什么方法,那我就称它为属性行不行?行可以,就好像你将一个函数称为对象,你将一个数组称为对象是一个道理。
11:02
可以吧,可以。好,那最终存的数据最终是不是要使用了。是吧,来使用我们就使用一下,关键现在的问题就是我怎么样去访问去操作对象内部的数据呢。怎么访问,我现在想要内啊,CTRL.log是不是输出啊,P点没有,那也就是说我们访问对象内部数据的方式之一,就是用点什么东西属性名。失败得到它的属性值。那得到属性值以后,后面怎么处理得看你的数据类型是什么。是吧,如果你就是一个一半的属性,我是不是可以读,那好了,我想去得到那个去调用一下三的内容,首先你我这么写,看看能不能写啊,这能写吗。
12:10
可不可以?你说老师我就没这么用过,你先别想以前,你说现在我们跟语法上来判断行不行,行,只是我们现在name这个说出了什么,很简单,好,那我P点三内输出了什么,是不是它的值啊,你不管它是什么值,反正是它的值就行。我们来看一下,应该输出的是这个函数的定义是吧?来我们打开看一下。是不是是的吧,啊OK,但其实我们只是我们平常不这么用而已,对不对。我们平常是不是函数一般是用来执行的呀,能理解吧,能理解好,那也就是说现在我们可以这么去调,对不对,一般这么用吧,但首先你得知道我前面的是不是得到的是一个函数。
13:16
是不,后面我才用括号去干嘛去,是不是执行调用这个函数啊,是这意思吧?啊,接着我里面可以去假设出一个包裹可以不。没问题吧,没问题,那这两种方式我是不是都是通过点的方式来去操作对象内部的属性,无论是一般属性还是喊方法属性这都可以,那现在除了点属性名还有别的方式吗?还有别的方式?还有一种方式,平常一般不用,但有的时候题有用,就是中括号、属性名、字符串。
14:13
不知大家能不能看懂这个,来我们来去整一下啊,譬如说我想去调用啊,调用这个啊,刚才掉设设不掉了,是不是我换一种方式掉,我怎么掉了,刚才不说还有一种方式吗?P什么中括号接着属性名字符串怎么对S接着干嘛?现在我得到一个什么类型的值啊,得到不是函数吗?得到不就是它吗?下面怎么做括号传一个值。可不可以,可以好,刚才我们P通过点的方式,点属性名的方式,是不是得到内容,我想去取A级,我用另外一个方取A,怎么取P。
15:12
接着中括号。是这样的吧,嗯,就是这样的,现在应该是输出包包和什么,是不是23了,这一点问题了没有。但是明显你看的出来看到什么,就这一种方式,他们比较的话,怎么比较啊。是不是编码简单它对吧,编码简单它呢,编码是不是复杂,是麻烦一些啊,但是有人可能就说老师这样麻烦还要它干嘛呢,是不是OK,这里就要说一个事情。
16:05
有时不能用,就这上面第一种方式有,在一定特定情况下,这种方式不能用。而这个能通用,什么叫通用啊?就是任何情况下都能用,能不能懂?好了,现在我们就要说一说现在问题什么,大家觉得下一步要说明什么?在什么情况下面,第一种方式不能用,只能用第二种方式。这意思吧,好,那我们就来去看一下。这样一个问题。就什么情况,下面我们必须用中化属姓名的方式。大家能不能想出啊一种情况说某一种情况呢,我们必须哎得去用中括号附姓名的方式。天天说举个例子,我这有个对象是吧,好,下面我要做一件事情,给批对象添加一个属性,看到属性名呢,是这样一个属性名,值呢是这样一个值啊,这样一个值啊,叫什么值啦,这样一个值,你别管我什么意义啊,我就要整个这个。
17:29
可以吧?来,我们来试一试。先别想先我们用点的方式,因为点的方式方便是吧,P点什么看干看等于一个字符串呗,这是个字符串啊。你看他报错了,为什么报错对吧?OK,这说的是有一种情况,什么情况呢?属性名包含特殊字符。
18:09
啊,这个特殊常用的有什么杠啊,什么空格呀,你觉得有空格是吗?也就是说什么意思,我的这个是这样的。是吧,那你是不是就得折磨着,你觉得行吗?那明显不行了吗?能不能理解啊,好,那现在这种方式明显是不是不行了呀。是不啊,不能用,那怎么办?P怎么写,中括号,单引号或者方式都可以,就写什么content杠,Type等于这个没没这个没关系是吧,就可以报错了吗?没有,那我要输出怎么输出,P能通过点来输出吗?不能,依然还是一样,只是我现在是不是读这个属性值。
19:20
上。把这所。对吧,啊,OK,好,那现在我们就应该能够去输出它所对应的值。可以吧,可以,那除了这样一种情况,还有还有一个情况,什么情况呢?变量名。不确定,那你想想看,变量要不确定,不确定东西应该用什么来存呢?一个数据变量名是不是个数据是吧?变量名它不是个字符串吗。那他不确定,你说我该怎么办,是不是用变,用一个变量来乘除这个变量名。
20:06
能理解。这说的是啊,第二种情况,变量名不确定,来变量名不确定,那我就定义一个什么呢?Proper name等于P说啊,随便你叫什么名字都没关系,可以吧。好可以,那我们现在怎么样啊,假设我还有一个value吧,我这边里面不是还有值吗?啊,假设值就写了,不写了什么A级好像不太好是吧是吧,那下面我们怎么样把这个属性添加到P上面去,我p.problem能不能写,能写是吧。但是你想现在变量名是多少,是不是这个串啊。
21:02
这是一个字符串法,是这个串是这个吗?不是吧?能不能懂我那怎么办呢?这种是不是也是不行的,也是不可用的,那不可用的话,我们是不是用那个通用的方式,那既然用通用的方式怎么用呢?拼中国。什么proper name等于什么?这个是有时候会有用的,就是我们的属性名不确定对吧,既然是不确定一个东西是不是要放到一个变量里面去,一旦你的变量名是在变量里面,那你必须通过中化的方式是不是去操作,你还能通过点的方式去操作吗?是不是不能的呀。能懂吗?
22:03
我取是不是也这么去,嗯,那现在输出的应该是什么18这个倒没什么问题是吧。我跟大家讲一下,以后后面我们的项目里面就会用到这样的语法,变量名是不确定的。啊,这个大家应该要去给它搞一搞啊,那实际上就两种情况,一种是属性名中包含了特殊字符啊,这个不要变量属性名吧,是吧,属性名不确定,那我只能是不是用变量来乘呢。Window吧,这些属性会好一点,嗯,啊,这其实就是我们啊刚刚说的这个问题,什么时候必须用第二种方式,那也就是说平常我们用做者方式吗?用不用不用用什么时候才用,只是迫于无赖的时候才用,对吧,那什么时候才无赖啊,这不就这两种方式就无赖吗?这个无赖不是不是指你无赖啊。
23:15
不是你你那种那种无赖知道吧,是你没办法了是吧,好行,那就像这种,其实非常简单啊,没太多东西。好,我们就先讲的。
我来说两句