首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Flutter 零基础入门(八):Dart 类(Class)与对象(Object)

Flutter 零基础入门(八):Dart 类(Class)与对象(Object)

作者头像
LarryLan
发布2026-01-16 11:11:22
发布2026-01-16 11:11:22
810
举报

Flutter&Dart零基础入门教程(一)

Flutter 零基础入门(二):Dart 字符串与字符串插值

Flutter 零基础入门(三):条件判断与逻辑运算》

Flutter零基础入门(四):switch、多分支判断与循环

Flutter零基础入门(五):List列表与遍历

Flutter 零基础入门(六):Map 键值对与简单数据模型》

Flutter 零基础入门(七):函数(Function)与代码封装

📘Flutter 零基础入门(八):Dart 类(Class)与对象(Object)

在前面的学习中,我们已经学会了:

·使用 List 存储一组数据

·使用 Map 描述一条结构化数据

·使用函数封装逻辑

你现在可能已经写过类似这样的代码:

代码语言:javascript
复制
Map<String, dynamic> user ={
  'name':'Tom',            
  'age':18,            
};

这在学习阶段完全没问题,但在真实项目中,很快会暴露一些问题:

·key 写错了,编译器发现不了

·数据结构不清晰

·不利于维护和扩展

为了解决这些问题,Dart 提供了更强大的工具: 👉 类(Class)与对象(Object)


一、什么是类(Class)?

类可以理解为:

一个“模板”或“蓝图”,用来描述一类事物

例如:

·用户

·商品

·订单

它描述的是:

·这个事物有什么属性

·这个事物能做什么事情


二、什么是对象(Object)?

对象是:

根据类创建出来的具体实例

类 ≈ 图纸 对象 ≈ 根据图纸造出来的房子


三、为什么要使用类?

相比 Map,类的优势非常明显:

·结构清晰

·有类型约束

·编译期可检查错误

·更符合真实业务建模

📌 Flutter 项目中几乎一定会用到类


四、定义一个最简单的类

代码语言:javascript
复制
class User {
  String name;
  int age;
  User(this.name, this.age);
}

拆解理解:

·class User:定义一个类

·name、age:类的属性

·User(...):构造函数,用于创建对象


五、创建对象(实例化)

代码语言:javascript
复制
User user = User('Tom', 18);
print(user.name);
print(user.age);

这里:

·User 是类

·user 是对象

📌 对象通过 . 访问属性


六、类中的方法(行为)

类不仅可以有属性,还可以有方法。

代码语言:javascript
复制
class User {
  String name;
  int age;
  User(this.name, this.age);
  void introduce() {
    print('我叫$name,今年$age岁');
  }
}

调用方法:

代码语言:javascript
复制
User user = User('Tom', 18);
user.introduce();

📌 方法本质上就是:

属于这个类的函数


七、类 vs Map(对比理解)

对比项

Map

Class

结构清晰度

一般

非常清晰

类型检查

自动补全

适合项目

📌 结论:

Map 用于临时数据,Class 用于项目结构


八、List + Class(真实项目结构)

代码语言:javascript
复制
List<User> users = [
  User('Tom', 18),
  User('Lucy', 20),
];

遍历:

代码语言:javascript
复制
for (var user in users) {
  user.introduce();
}

📌 这已经是 Flutter 项目中非常常见的写法了。


九、类是 Flutter 的核心基础

在 Flutter 中:

·页面是 Widget 类

·StatelessWidget / StatefulWidget 是类

·页面状态、数据模型都是类

📌 你现在学的内容,将直接用于:

页面开发、数据模型、业务封装


十、总结

本篇你已经学会了:

·什么是类(Class)

·什么是对象(Object)

·如何定义和使用类

·为什么类比 Map 更适合项目

你已经完成了从:

“数据结构” → “业务建模” 的关键跃迁


🔜 下一篇预告

《Flutter 零基础入门(九):构造函数、命名构造函数与 this 关键字》

下一篇我们将学习:

·构造函数的更多写法

·命名构造函数的作用

·this 的真正含义

·更规范地创建对象

从下一篇开始,你写的 Dart 代码将越来越像:

专业 Flutter 项目中的代码

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Larry的Hub 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Flutter&Dart零基础入门教程(一)
  • Flutter 零基础入门(二):Dart 字符串与字符串插值
  • Flutter 零基础入门(三):条件判断与逻辑运算》
  • Flutter零基础入门(四):switch、多分支判断与循环
  • Flutter零基础入门(五):List列表与遍历
  • Flutter 零基础入门(六):Map 键值对与简单数据模型》
  • Flutter 零基础入门(七):函数(Function)与代码封装
  • 📘Flutter 零基础入门(八):Dart 类(Class)与对象(Object)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档