• 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包,找到 创建场景界面 模块,删去其中内容。

     

    在类最后写入Dog类

    1. /**
    2. * 创建场景界面
    3. * Create scene interface
    4. */
    5. protected createGameScene(): void {
    6. //Dog类
    7. class Dog{
    8. name:string;
    9. age:number;
    10. sex:string;
    11. constructor(n:string,a:number,s:string){
    12. this.name = n;
    13. this.age = a;
    14. this.sex = s;
    15. }
    16. run(){
    17. console.log(this.name + '在跑步...');
    18. }
    19. }
    20. }

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

    1. /**
    2. * 创建场景界面
    3. * Create scene interface
    4. */
    5. protected createGameScene(): void {
    6. //创建对象
    7. var d1 = new Dog('旺财',3,'男');
    8. //直接访问旺财的属性
    9. console.log(d1.name);
    10. console.log(d1.age);
    11. console.log(d1.sex);
    12. //调用对象的方法
    13. d1.run();
    14. }

    打开控制面板中的终端

     在弹出的终端中输入  egret run

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

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

    4.可访问修饰符

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

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

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

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

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

    5.只读属性修饰符

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

  • 相关阅读:
    Studying-代码随想录训练营day62| Floyd 算法精讲、A*算法精讲(A star算法)、最短路算法总结篇、图论总结
    解析带有表头的数据文件
    通过HFS低成本搭建NAS,并内网穿透实现公网访问
    mysql中binlog日志
    Sentinel控制台配置 持久化到nacos
    Qt项目实战--网络编程简单BC端聊天系统
    【论文阅读】基于隐蔽带宽的汽车控制网络鲁棒认证(一)
    Python中上下文管理器解析
    微软8月系统更新引发问题:虚拟内存分页文件出现错误
    【docker】Dockerfile
  • 原文地址:https://blog.csdn.net/LYly_B/article/details/127786422