zoukankan      html  css  js  c++  java
  • layabox 学习之ts学习

    最近公司准备把小游戏让我们来维护,是使用layabox开发的,但是之前,我完全没有游戏开发经验,也没有用过laya,对里面的一些概念完全不了解,但是赶鸭子上架,那是不得不学了,B站上的教学视频也不多,看官网的教程又有点乏味,有点蛋疼。

    下午看了下教程,看看我还记得多少,

    场景,节点,文本,图片,,,,然后就是TS了,还有class,说实话,js里面的class我就用得贼少,基本没用过,所以,看到大量使用class的语法的我就有懵逼,那今天就以ts里面class的基本写法来结束吧。

    我看class里面有很多关键字,这些都是我之前不了解的。

    说实话,es6,es7,ts,这里面类里面的关键字总是让我傻傻分不清楚

    现在大概是知道了,不过不能灵活运用

    es6 static 静态方法

    es7 的提案里面有加上了静态属性

    TS里面把这些都实现了,并且还扩展了,比如public private protected之类的,还有什么抽象类呀,....,这些跟java或者c#据说是很像的,但是其他的强类型语言我也没学过呀,反正都是大神们说的,我什么都不知道。

    照旧贴一下我的学习demo代码吧

    class Animal1 {
      constructor(name) {
        this.name = name;
      }
      say() {
        console.log(`hello,my name is ${this.name}`);
        return `hello,my name is ${this.name}`;
      }
    }
    
    let a1 = new Animal("大黄");
    // a1.say();
    
    class Dog extends Animal {
      constructor(name) {
        super(name);
        console.log(this.name);
      }
      crow() {
        // console.log(super);
        console.log(super(), "xxxxxx");
        let res = `mow ` + super.say();
        // console.log(res);
      }
    }
    
    let d1 = new Dog("二哈");
    d1.crow();
    
    /***
     * ES6中的类有几种关键字
     * 
     * 静态方法,就是类自己身上的方法,不是实例的方法
     * static create(){xxxxx}
     * ES7里面又有一些提案,
     * 1,比如实例属性的写法
     *  es6里面之前都是写在constructor构造函数里面的,比如,this.name=name
     * 现在不用了,直接写在类里面
     * 比如class Animal{
     *  name:'jack'
     *  constructor(){
     *  xxxxxx
     * }
     * } 
     * 实例就可以直接使用name这个属性
     * 2,静态属性
     *  static num=43;
     * 
     * 上面的这些在ts里面都被实现了。
     * TS里面新增了三种修饰符
     * 1,public  修饰的属性或方法是公有的,可以在任何地方被访问到,默认所有的属性和方法都是 public 的
     * 2,private 修饰的属性或方法是私有的,不能在声明它的类的外部访问
     * 3,protected 修饰的属性或方法是受保护的,它和 private 类似,区别是它在子类中也是允许被访问的
     * 
     * 
     * ***/

    还贴一个ts教程里面的一段代码

    abstract class Animal {
      public name;
      public constructor(name) {
        this.name = name;
      }
      public abstract sayHi();
    }
    
    class Cat extends Animal {
      public sayHi() {
        console.log(`Meow, My name is ${this.name}`);
      }
    }
    
    let cat = new Cat("Tom");
    cat.sayHi();

    说实话,本来ts就想学,但是呢,一直没有在项目中去使用,所以一直是停留在文档学习阶段,各种东西学了就忘,很尴尬,现在这个laya其实也是推荐使用ts来开发,所以,现在ts切切实实的要搞起来了,不然真的代码都看不懂啦。

  • 相关阅读:
    组合,封装与多态
    继承与派生
    面向对象基础练习
    面向对象基础
    类与对象
    数组与pandas模块
    Flask基础(15)-->模板代码的复用【宏(Macro)、继承(Block)、包含(include)】
    Flask基础(14)-->自定义过滤器
    Flask基础(13)-->Flask扩展Flask-Script
    Flask基础(12)-->请求上下文和应用上下文
  • 原文地址:https://www.cnblogs.com/ysla/p/14051227.html
Copyright © 2011-2022 走看看