七、面向对象编程

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类

 

 

 

    /**
     * 创建场景界面
     * 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 + '在跑步...');
                }
            }
     }

 

 

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

 

 

    /**
     * 创建场景界面
     * 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();

     }

打开控制面板中的终端

 

 在弹出的终端中输入  egret run

 

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

 

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

 

 

4.可访问修饰符

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

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

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

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

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

5.只读属性修饰符

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

 

 

 
 

原文地址:http://www.cnblogs.com/lysboke/p/16876436.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性