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

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

相关推荐
楽码18 小时前
自动修复GoVet:语言实现对比
后端·算法·编程语言
楽码2 天前
理解自动修复:编程语言的底层逻辑
后端·算法·编程语言
Moonbit5 天前
MoonBit Perals Vol.04: 用MoonBit 探索协同式编程
后端·程序员·编程语言
显允6 天前
C++实现太阳系行星系统
编程语言
Moonbit7 天前
月报 Vol.02:新增条件编译属性 cfg、#alias属性、defer表达式,增加 tuple struct 支持
后端·程序员·编程语言
Moonbit12 天前
MoonBit Pearls Vol.03:01背包问题
后端·算法·编程语言
神经星星12 天前
登 Science,David Baker 团队提出无序区域结合蛋白设计新方法,专攻不可成药靶点
人工智能·机器学习·编程语言
神经星星12 天前
【TVM 教程】向 Relay 中添加算子
人工智能·开源·编程语言
秋难降13 天前
零基础学习SQL(一)-----关系型数据库DDL和图形化界面工具Datagrip
数据库·mysql·编程语言
Jooolin13 天前
【C++】STL:Stack详解
c++·ai编程·编程语言