00:00
欢迎大家继续观看上硅谷grid技术视频,这节课我们提一下Lu基本语法。由于后边咱们在创建luid项目的时候,它会用到lo位,所以咱们这里对lo位的语法先做一个简要的快速的介绍,然后后边咱们通过案例的方式再来带着大家演示一遍。好,我们先看这个lo基本语法的介绍。首先,他说loy是基于Java语言的,所以它是完全可兼容Java语法的。可以作为面向对象的编程语言,也可以作为脚本型的语言。当Lu作为面向对象编程的语言的时候,我们可以在里边定义类。当Lu作为脚本类型的语言的时候,咱们在Lu文件中就不需要定义类了。来吧,咱们给大家看一下这个。比如。咱们现在生成的这个hello word这个它实际上是有类的。
01:00
是吧?OK啊。这样我们再来定义一个Lu文件。我这里把它放在某个包底下,比如说叫。com艾特硅谷。点这个包。然后在这里创建一个这样一个类。在这个文件里边,它就定义了类。啊,而且你会发现它的语法和。咱们加位的基本上是完全一致的啊,你也可以定义H。String类型的。内。布尔类型的,真的。总之,我们学过的Java语法在位中这里都是兼容的。当然,我们也可以再创建一个lo文件。比如说这一次我让它作为脚本文件使用。
02:08
然后我把这个class类给它去掉。啊,我仅仅在这里打印。或者说在这里定义。Username。等于张三丰,然后在这里做一个打印。而且你会发现。我在进行换行的时候。我也没有在语句的后面加分号。啊,在格位语法中,分号是可以省略的。像这里有两个文件。像这个DEMO02这个lo文件里边,它并没有定义类,它就是作为脚本使用的。而actorloy这个文件里边,它就定义了类,实际上它是作为纯面向对象的语言进行使用的。Lu,它支持面向对象的编程方式,也支持啊作为脚本进行使用。
03:06
我们可以把它们都做一个编译,你会发现它的底层实现也是不一样的,比如我们运行这个脚本。运行DEMO02这个文件的时候。他会把这两个文件进行编译。编译后的字节码放在了al目录底下。咱们来看一下,你会发现作为脚本使用的时候,它默认生成的这个类。实际上就是那个脚本文件的名字,DEMO0。而且脚作为脚本使用的时候,它继承的是script这个类。而。骨尾。作为正常的类。使用的时候。啊,他继承的是Lu object啊,它实现的是Lu object这个接口。OK啊,行,这是第一点。
04:03
第二点。在位文件中,我们可以混合类的定义和脚本的定义,此时不再需要定义一个与文件同名的类。啥意思呢?就这意思。就是我们可以在同一个文件里边。是吧,混合脚本的定义还可以混合类的定义。比如说我在这定一个类。这来一个class。比如说来一个book。没有问题。啊,这样咱们就把类的定义和脚本的定义。给它混合在一个文件里边了啊。当脚本的定义和类的定义混合在一个文件的时候,这个类名不能适合文件名重名的,比如说你这里和文件名重名了,它会报错。是不是这里报错误信息?但是你给他换一个名字,他就是可以的。
05:00
啊,这是一个注意点啊。第三点就是lo中使用DEF定义变量和方法,不建议使用具体的数据类型,啥意思呢?就这意思。就在glo中,咱们使用DEF定义变量或者定义啊属性。啊,不建议使用这种具体的数据类型。OK啊,包括方法返回值。比如我在这里呀。写一个啊DF,然后这里是get username。不建议这里指定具体的返回值。OK啊,行了,这这个。第第三点。在格中使用DEF定义变量方法,不建议使用具体的啊,数据类型这个咱们强调过了,然后继续往下走。
06:07
他说,在glo语中,它的注释分为单行注释和多行注释。单行注释用双斜杠,多行注释用斜杠、星星斜杠。啊,这个没啥讲,这是啊大家好。注释。如果是多行注释呢,就是斜杠星星斜杠。这是多行注释。和Java中的是一样的。第五点就是轱辘语中语句末尾的分号是可以省略的,以换行作为结束。刚才咱们强调过。第六点,默认的类方法以及字段实际上都是由public修饰的。在Java中,默认的是由default修饰的。啊,这一点与Java呢不太一样。再一个我们是对中对象的。
07:00
属性和方法进行操作。堆属性操作的时候无非就是对属性赋值以及读取属性值。对对象的属性进行赋值有好几种方式。第一种就是啊,直接通过对象点属性名的方式给它赋值。还第二种就是通过对象。对应属性的set方法给了一个属性赋值,第三种就是通过剧名构造器的方式。后边咱们创建grid项目的时候。在grid项目的build grid文件中,咱们写的那个task。指定task的分组描述信息的时候,实际上用的就是居民构造器的方式。还有对属性的操,呃,读取操作,咱们有这么三种方式,一种是直接用对象的属性名。一种是对象通过中号二方式,然后指定属性名,指定读取哪个属性对应的值。
08:01
第三种就是通过对象。属性对应的get的方法。读取这个属性值。OK啊,无论是对对象属性的赋值,还是对对象属性的读取操作,实际上都是通过对象对应的属性对应的这个该特赛的方法完成的。再一个就是对对象方法的几个注意点。一个是在方法声明时参数的类型,返回值的类型实际上是可以省略的。再一个是。在方法证明时,Return关键字也是可以省略的。通常他会把这个方法最后一句的返回值作为整个方法的返回值。再一个就是方法调用的时候,在不引起歧义的情况下,这个小括号是可以省略的。当然中也支持顺序结构、分支结构、循环结构。
09:03
中支持的运算符有算术运算符、关系运算符、位运算符、复制运算符、范围运算符等。再一个在中。基本数据类型是也是对象。是吧,它可以直接调对象的方法。中的字符串分为三种,一种是单引号引起来的,一种是双引号引起来的,再一个就是单引号引起来的。单引号引起来的字符串是作为纯字符串使用。而双引号引起来的字符串。它可以获取变量的值,有运算能力。而三引号引起来的字符串,它是作为模板字符串,支持换行等操作。最后说一下这个数据类型。无论是变量的,还是属性的,还是方法的,还是必包的参数。啊,B包后边咱们会提。
10:01
还是方法的返回值他们这些啊。他们的数据类型实际上都是可以省略的。因为我们只有在变量赋值的时候,才决定了这个变量到底是什么数据类型的。再一个在中。在运算的过程中,有的时候也会发生类型转化。再一个是类的,说明刚才咱们已经做过了。啊说如果在一个文件中没有任何类定义。那他就是被作为脚本处理的。啊,而且这个生成的字节码是继承了script。OK啊。那如果。咱们定义了类,那它将继承实现的是。Object类。或者说object这个。这个接口。
11:00
OK啊行,后边这些咱们实际上都讲到了。这个,这是glory中的基本语法说明。
我来说两句