18.1 面向对象语言的特征
从对象、封装与继承三方面审视面向对象特征,以及 Rust 如何对应
1分钟内可阅读完
译文 · 基于 The Rust Programming Language(rustc 1.97.1)
原文链接: https://doc.rust-lang.org/stable/book/ch18-00-oop.html
面向对象编程(object-oriented programming,OOP)是一种建模程序的方式。作为程序概念的“对象”出现在 1960 年代的 Simula 语言中。这些对象影响了 Alan Kay 的程序架构思想:对象之间互相传递消息。为描述这种架构,他在 1967 年创造了面向对象编程一词。关于什么是 OOP,存在许多相互竞争的定义;按其中一些定义,Rust 是面向对象的,按另一些则不是。本章将探讨通常被视为面向对象的若干特征,以及它们如何对应到惯用的 Rust。然后展示如何在 Rust 中实现一种面向对象设计模式,并讨论这样做与改用 Rust 自身优势来实现方案之间的取舍。
从对象、封装与继承三方面审视面向对象特征,以及 Rust 如何对应
用 trait 对象在运行时对不同类型实现共享行为,并说明动态分发
用状态模式实现博客帖子工作流,并对比类型编码状态的惯用做法