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

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

相关推荐
大熊猫侯佩40 分钟前
WWDC26 最被忽视的王炸:告别“伪并发”陷阱,Swift 6.4 的 async defer
ios·swift·编程语言
2601_9516457818 小时前
Linux 编程语言全解析:C、C++、Python、Go、Rust 谁更强?
linux·python·go·c·编程语言
小宇子2B5 天前
一个 Vec 的数据到底在内存哪:栈、堆,和它们相向而行的真相
后端·编程语言
alwaysrun5 天前
C++之类型安全格式化format
c++·程序员·编程语言
大熊猫侯佩8 天前
WWDC26前瞻:Swift 即将迎来的那些新内置类型
swift·编程语言·wwdc
iiiiyu9 天前
IO流(二)
java·开发语言·数据结构·编程语言
触底反弹9 天前
苹果换芯片,用户说「真香」;微软换芯片,用户说「退货」—— 同样的事,为什么结果完全相反?
java·架构·编程语言
gis分享者9 天前
学习threejs,实现炫酷的3D编程语言地球可视化效果
可视化·编程语言·threejs·地球·spheregeometry·raycaster·meshbasic