aardio 类与对象基础

今天开始探索 aardio 里的类与对象啦,感觉就像踏入编程世界的角色扮演环节,类是角色模板,对象是具体角色,用它们能让代码更规整,这学习过程还挺有意思!

一、类的定义

类是对象的抽象模板,规定了对象的属性和方法。就像设计游戏角色模板,确定角色特征和能做的事。比如定义 GameCharacter 类:

kotlin 复制代码
class GameCharacter {
    ctor(name,grade){
        this.name = name; 
        this.grade = grade; 
    }
    showInfo = function() { 
        ..print("角色名称:", this.name);
        ..print("角色等级:", this.grade);
    }     
}

这里 GameCharacter 类有 namegrade 属性,showInfo 方法,this 关键字能访问对象自身的属性和方法,就像角色用自己的特征做事。

二、对象的创建

有了类模板,就能创建具体对象啦。像依据游戏角色模板生成具体角色,代码示例:

ini 复制代码
var character1 = GameCharacter(); 
character1.name = "张三";
character1.grade = 5; 
character1.showInfo(); 

创建 character1 对象后,给属性赋值,再调用 showInfo 方法展示角色信息,让模板变成有具体特征的"角色"。

三、构造函数

构造函数在创建对象时自动调用,用于初始化属性,好比创建角色时设置初始特征。优化后的 GameCharacter 类用构造函数:

ini 复制代码
class GameCharacter {
    ctor(name,grade){
        this.name = name;
        this.grade = grade;
    }
    showInfo = function() {
        ..print("角色名称:", this.name);
        ..print("角色等级:", this.grade);
    }     
}

var character1 = GameCharacter("张三",5); 
character1.showInfo();
null

构造函数 ctor 接收参数,创建对象时直接传参初始化属性,更方便快捷,一步到位给对象"定好初始模样"。

四、实践

定义 Student 类,包含 nameagescore 属性,用构造函数初始化,还有 showReport 方法显示信息,最后创建对象调用方法。

代码在这:

ini 复制代码
class Student {
    ctor(name, age, score){
        this.name = name;
        this.age = age;
        this.score = score;
    }
    showReport = function(){
        ..print("姓名:", this.name);
        ..print("年龄:", this.age);
        ..print("成绩:", this.score);
    }
}

var student = Student("王五", 15, 90); 
student.showReport(); 
null

把类的定义、对象创建、构造函数和方法使用结合起来,完成后对类与对象基础理解更深了,感觉在面向对象编程路上迈出扎实一步,超有成就感,继续加油!

相关推荐
嘟嘟07178 小时前
搞懂 useState 从原生 DOM 到 React 惰性初始化的完整链路
前端·react.js·编程语言
Quz2 天前
QML 信号与槽:直接绑定与跨文件通信
qt·编程语言·设计
wenb1n4 天前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言
快乐星空Maker6 天前
C++【生存游戏】开发:荒岛往事 第三期
开发语言·c++·游戏·编程语言
小林ixn6 天前
Python基础全梳理:从注释到函数,这些细节你都掌握了吗?
python·编程语言
甜味弥漫7 天前
一文搞懂 TypeScript:为什么 JavaScript 需要类型?从 JS 到 TS 入门笔记
编程语言
饼干哥哥9 天前
10.5% 深层转化、90%+ 新用户,ChatGPT Ads 值得吗?
算法·正则表达式·编程语言
清秋11 天前
全网最全 ECMAScript 攻略( 更新至 ES2026)
前端·javascript·编程语言
Jack201 个月前
HarmonyOS开发中请求拦截器链:日志、认证、重试
编程语言
Rust研习社1 个月前
组合真的优于继承吗?为什么 Rust 和 Go 都拥抱组合舍弃继承?
后端·rust·编程语言