H5游戏开发-面向对象编程

七、面向对象编程

1.认识类与对象

类是一种复杂的数据结构,他是将不同类型的数据与这些数据相关的操作封装在一起的集合体。

对象是类的实例,是类描述的具体事物。(类是对象的抽象化,对象是类的实体化)。

属性:静态特性,例如姓名,年龄,身高。

行为:动态行为,例如走路,跑步,唱歌。

2.创建类

class 类名{
constructor(){

}
}
//Dog类
class Dog{
name:string;
age:number;
sex:string;
constructor(n:string,a:number,s:string){
this.name = n;
this.age = a;
this.sex = s;
}
run(){
console.log(this.name + '在跑步...');
}
}

3.创建对象

var d1 = new Dog('旺财',3,'男');
//直接访问旺财的属性
console.log(d1.name);
console.log(d1.age);
console.log(d1.sex);
//调用对象的方法
d1.run();

实操:

打开Egret Wing3,找到Main.ts包,找到 创建场景界面 模块,删去其中内容。

H5游戏开发-面向对象编程_第1张图片

 H5游戏开发-面向对象编程_第2张图片

在类最后写入Dog类

H5游戏开发-面向对象编程_第3张图片

    /**
     * 创建场景界面
     * Create scene interface
     */
    protected createGameScene(): void {
        //Dog类
        class Dog{
            name:string;
            age:number;
            sex:string;
            constructor(n:string,a:number,s:string){
                this.name = n;
                this.age = a;
                this.sex = s;
            }
            run(){
                console.log(this.name + '在跑步...');
                }
            }
     }

在创建场景界面 模块中写入方法调用

H5游戏开发-面向对象编程_第4张图片

    /**
     * 创建场景界面
     * Create scene interface
     */
    protected createGameScene(): void {
        //创建对象
        var d1 = new Dog('旺财',3,'男');
        //直接访问旺财的属性
        console.log(d1.name);
        console.log(d1.age);
        console.log(d1.sex);
        //调用对象的方法
        d1.run();

     }

打开控制面板中的终端

H5游戏开发-面向对象编程_第5张图片

 在弹出的终端中输入  egret run

H5游戏开发-面向对象编程_第6张图片

 浏览器中弹出页面,点击右键-检查

H5游戏开发-面向对象编程_第7张图片

 查看控制台,成功显示dog类对象d1的name、age、sex以及run()方法。

H5游戏开发-面向对象编程_第8张图片

4.可访问修饰符

很多情况下,我们不希望一些属性在类外被访问到,我们可以借助属性访问修饰符:public、protected、private。

public:公有修饰符,可以在类外使用修饰的属性或行为。

protected:受保护的修饰符,可以在类(子类)内使用修饰的属性和行为。

private:私有修饰符,只可以在当前类使用修饰的属性和行为。

注意:如果不使用修饰符,默认为public修饰。

5.只读属性修饰符

使用readonly修饰符将属性设置为只读的。

你可能感兴趣的:(javascript,前端,vue.js,开发语言,ecmascript)