当前位置:嗨网首页>书籍在线阅读

07-用特征抽象行为

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

4.3 用特征抽象行为

从多态和代码复用的角度来看,在代码中将类型的共享行为和公共属性与其自身隔离通常是一个好主意,并且能拥有专属于自己的方法。在这样做时,我们允许不同类型通过通用属性互相关联,使我们能够为API编程,使其参数更通用或更具包容性。这意味着我们可以接收具有这些通用属性的类型,而不仅限于某种特定类型。

类似Java和C#的面向对象编程语言中,接口表达了相同的理念,我们可以在其中定义多种类型能够实现的共享行为。例如,我们可以使用单个sort函数接收实现Comparable或者Comparator接口的元素列表,而不是使用多个sort函数接收整数值列表,以及用其他函数接收字符串值列表。这使得我们可以将任何可比较(Comparable)的内容传递给sort函数。

Rust也有一个类似且功能强大的结构,被称为特征。Rust中的特征以多种形式存在,我们将介绍一些最常见的形式并了解一些与它们简单交互的方式。此外,当特征与泛型搭配使用时,可以限制传递到API的参数范围。我们将会对特征进行比较深入的了解。