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

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

相关推荐
郝学胜_神的一滴15 小时前
C++20 高级编程 002:夯实现代C++底层基本功
c++·编程语言
渣男教父2 天前
Python游戏自动化实战案例
python·编程语言
junuo3 天前
10_C++内存分区与动态内存管理
c++·编程语言
程序员天天困3 天前
Spring Boot i18n 国际化实战:从资源文件到多语言接口完整指南
spring boot·后端·编程语言
gbshha4 天前
扫雷游戏的C语言实现
编程语言
渣男教父5 天前
Python-lxml 与 XPath 实战
python·编程语言
似璟如你6 天前
Java 开发者的 Go 语法基础:从 0 开始快速上手 Go
java·开发语言·后端·golang·go·编程语言
302wanger7 天前
没有 Stack Overflow,没有自动补全:80 年代的编程体验
编程语言
yiqiefeimeng8 天前
Rust还是Go?编程语言的未来之争
rust·go·编程语言·技术社区·未来之争
计算机魔术师8 天前
传统基础架构 - 微服务
大数据·后端·微服务·架构·开发工具·编程语言