ArkTS学习笔记:类的定义和对象的创建

文章目录

  • [1. 准备工作](#1. 准备工作)
  • [2. 类的定义](#2. 类的定义)
    • [2.1 语法格式](#2.1 语法格式)
    • [2.2 创建类](#2.2 创建类)
  • [3. 对象的创建](#3. 对象的创建)
    • [3.1 语法格式](#3.1 语法格式)
    • [3.2 创建对象](#3.2 创建对象)
  • [4. 运行程序,查看效果](#4. 运行程序,查看效果)
  • [5. 实战总结](#5. 实战总结)

1. 准备工作

  • 创建鸿蒙项目 - LearnArkTS
  • 编写首页代码
ts 复制代码
@Entry
@Component
struct Index {
  @State message: string = '学习ArkTS';

  build() {
    Column() {
      Text(this.message)
        .id('msg')
        .fontSize(30)
        .fontColor("red")
        .fontWeight(FontWeight.Bold)
        .margin(20)

      Button('运行')
        .fontColor(Color.Blue)
        .fontSize(30)
        .padding(10)
        .width(200)
        .margin(15)
        .backgroundColor('#44dd22')
        .foregroundColor('#ffffff')
        .onClick(() => {
          console.log(`欢迎你来${this.message}~`);
        })
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
    .backgroundColor('222222')
  }
}
  • 启动应用,查看结果
  • 单击【运行】按钮,查看日志

2. 类的定义

2.1 语法格式

ts 复制代码
class 类名 {
    定义体 // 包含字段、构造函数、属性和方法
}
  • 在ArkTS中,类使用关键字class定义;class之后是类的名称,类名称必须是合法的标识符,建议使用大驼峰命名风格来命名;类名称之后是以一对花括号括起来的class定义体,class定义体中可以定义一系列类的成员,包括字段、构造函数、属性和方法。每定义一个类,就创建了一个新的自定义类型。

2.2 创建类

  • Index.ets中创建PhysicalEducation
ts 复制代码
class PhysicalEducation {
  readonly studentID: string; // 学号
  examScore: number; // 考试得分

  // 构造方法
  constructor(studentID: string, examScore: number) {
    this.studentID = studentID;
    this.examScore = examScore;
  }

  // 计算课程总评分
  calculateTotalScore(): number {
    return this.examScore
  }
}
  • 代码说明PhysicalEducation 类代表体育课,包含学号和考试得分属性。构造函数初始化这些属性,calculateTotalScore 方法返回学生的体育课总分,即考试得分。该类适用于管理和计算体育课成绩。

3. 对象的创建

3.1 语法格式

ts 复制代码
new 类名([参数列表]);
  • 在ArkTS中,使用new 类名([参数列表])语法创建类实例,初始化属性并调用构造函数。

3.2 创建对象

  • Index.ets里创建test()函数
ts 复制代码
function test() {
  const physicalEducation: PhysicalEducation = new PhysicalEducation('20240101', 90);

  // 访问实例字段
  console.log(`学号:${physicalEducation.studentID}`);
  console.log(`考试得分:${physicalEducation.examScore}`);

  // 调用实例方法
  console.log(`课程得分:${physicalEducation.calculateTotalScore()}`);
}
  • 代码说明 :这段代码演示了如何创建PhysicalEducation类的实例,并初始化学号和考试得分。然后,它访问并打印实例的属性值,最后调用calculateTotalScore方法来获取并打印课程总评分。

  • 在按钮的单击事件里调用test()函数

4. 运行程序,查看效果

  • 单击【运行】按钮,查看日志输出信息

5. 实战总结

  • 本次实战通过创建鸿蒙项目,学习了ArkTS的基本语法,包括类的定义、对象的创建和方法调用。通过编写首页代码,实现了一个简单的用户界面,并在按钮点击事件中测试了自定义类的实例化和方法调用,最终在日志中验证了输出结果。这个过程加深了对ArkTS面向对象编程的理解,并实践了如何在鸿蒙应用中操作UI组件和处理事件。
相关推荐
Kobebryant-Manba39 分钟前
学习Bert微调
人工智能·学习·bert
xian_wwq1 小时前
【学习笔记】深度认知系列-第14讲 端侧AI崛起——为什么AI正在从云端走向本地
人工智能·笔记·学习
我爱cope1 小时前
【计算机网络 | 传输层3:TCP 协议概述:面向连接、可靠传输到底意味着什么?】
网络·网络协议·学习·tcp/ip·计算机网络·传输层
代码的小搬运工3 小时前
KVO学习
学习·ios·cocoa
辣知4 小时前
辣知·化智47 黄帝陵与民族精神归途
学习
知识分享小能手4 小时前
深度学习学习教程,从入门到精通,数值计算 — 知识点详解(4)
人工智能·深度学习·学习
zyf1044165 小时前
暑期实践日志 Day49:复盘题库出题成果,夯实章节考点
学习·计算机网络·剪辑·暑期实践·课题任务
kaixin_啊啊5 小时前
多模态学习
学习
m4Rk_6 小时前
【论文阅读】Agent 记忆机制(62):DCM-Agent——用双簇记忆化解优化问题的多范式冲突
论文阅读·人工智能·学习·开源·github
xian_wwq6 小时前
【学习笔记】深度认知系列-第13讲AI Agent时代到来——从“回答问题”到“执行任务”
人工智能·笔记·学习