文章目录
-
- 一、什么是面向对象?
- 二、面向对象三大特性概览
- 三、封装(Encapsulation)
-
- 1️⃣ 什么是封装?
- 2️⃣ Dart 中的封装体现
- 3️⃣ 为什么要封装?
- 四、继承(Inheritance)
-
- 1️⃣ 什么是继承?
- 2️⃣ Dart 中的继承
- 3️⃣ 重写(override)
- 五、多态(Polymorphism)
-
- 1️⃣ 什么是多态?
- 2️⃣ 多态示例
- 3️⃣ 面向抽象编程
- 六、三大特性如何协同工作?
- 七、Flutter 为什么大量依赖三大特性?
- 八、新手常见误区
- 九、这一篇你真正掌握了什么?
- 十、总结
- 🔜 下一篇预告
在前面的学习中,我们已经分别学过:
- 类(Class)与对象(Object)
- 构造函数、this、late
- 抽象类(abstract)与接口思想
但你可能还没有一个整体感觉:
👉 为什么要学这些? 👉 它们之间的关系是什么? 👉 Flutter 到底在用什么思想?
这一篇,我们来系统梳理面向对象的三大特性,也是你从“会写 Dart”到“理解 Flutter 架构”的关键一步。
一、什么是面向对象?
一句话理解:
用“对象”来描述真实世界中的事物
对象:
- 有属性(数据)
- 有行为(方法)
Dart、Flutter 都是强面向对象体系。
二、面向对象三大特性概览
| 封装 | 隐藏细节,控制使用方式 |
| 继承 | 复用代码,建立层级关系 |
| 多态 | 面向抽象编程,解耦逻辑 |
接下来我们逐一拆解。
三、封装(Encapsulation)
1️⃣ 什么是封装?
封装的核心是:
只暴露“该暴露的”,隐藏“不该关心的”
2️⃣ Dart 中的封装体现
class User {
final String _password;
User(this._password);
}
- _password 是私有属性
- 外部无法直接访问
📌 下划线 _ 是 Dart 的私有约定(库级私有)。
3️⃣ 为什么要封装?
- 防止误用
- 降低耦合
- 提高安全性
Flutter 中的很多类: 👉 你只能用,不能乱改
四、继承(Inheritance)
1️⃣ 什么是继承?
继承表示:
子类拥有父类的属性和方法
2️⃣ Dart 中的继承
class Animal {
void move() {
print('moving');
}
}
class Dog extends Animal {
void bark() {
print('bark');
}
}
Dog:
- 自动拥有 move
- 还可以新增自己的行为
3️⃣ 重写(override)
class Dog extends Animal {
@override
void move() {
print('Dog is running');
}
}
📌 用 @override 明确表示重写父类行为。
五、多态(Polymorphism)
这是最重要、也是最抽象的一点。
1️⃣ 什么是多态?
一句话理解:
同一个方法,不同对象,有不同表现
2️⃣ 多态示例
abstract class Animal {
void move();
}
class Dog extends Animal {
@override
void move() {
print('Dog runs');
}
}
class Bird extends Animal {
@override
void move() {
print('Bird flies');
}
}
3️⃣ 面向抽象编程
void makeMove(Animal animal) {
animal.move();
}
这里:
- 不关心具体类型
- 只关心是否遵守 Animal 规则
📌 这就是多态的精髓。
六、三大特性如何协同工作?
来看一个完整示例:
abstract class Shape {
double area();
}
class Circle extends Shape {
final double r;
Circle(this.r);
@override
double area() {
return 3.14 * r * r;
}
}
class Square extends Shape {
final double side;
Square(this.side);
@override
double area() {
return side * side;
}
}
统一使用:
void printArea(Shape shape) {
print(shape.area());
}
📌 这就是:
- 封装:隐藏计算细节
- 继承:共享 Shape 规则
- 多态:不同形状不同实现
七、Flutter 为什么大量依赖三大特性?
Flutter 本质上是:
一个由无数 Widget 组成的面向对象系统
- Widget 是抽象概念
- StatelessWidget / StatefulWidget 是继承
- build 方法是多态
你学到这里,已经站在了 Flutter 设计的门口。
八、新手常见误区
❌ 过度继承 ❌ 类层级太深 ❌ 用继承解决所有问题
📌 Flutter 更偏向:
组合 > 继承
(这个思想后面会专门讲)
九、这一篇你真正掌握了什么?
你已经不再是:
- “堆代码”
- “背语法”
而是在:
- 设计结构
- 抽象问题
- 理解框架思想
这是质变。
十、总结
本篇你系统掌握了:
- 面向对象三大特性
- Dart 中的具体体现
- Flutter 架构背后的思想
🔜 下一篇预告
《Flutter 零基础入门(十六):Widget 基础概念与第一个 Flutter 页面》
下一篇开始: 🚀 正式进入 Flutter UI 世界
你将第一次:
- 写 Flutter Widget
- 理解 build 方法
- 看懂 Flutter 页面是如何构成的
网硕互联帮助中心





![[前端][cicd]使用github-action工具部署docker容器(实现一键推送部署到服务器)-网硕互联帮助中心](https://www.wsisp.com/helps/wp-content/uploads/2026/01/20260114020506-6966f9d2236ce-220x115.png)

评论前必须登录!
注册