Dart编程语言中接口的用法

508 阅读5分钟

Dart编程语言中的接口被认为是在你的代码中创建抽象的一种方式。Dart接口是所有希望实现该接口的类的蓝图。之后,这些类需要为所有的接口方法提供自己的实现。在这篇文章中,我们将教你如何在Ubuntu 20.04的Dart编程语言中使用接口。

Dart中接口的主要属性。

以下是Dart编程语言中接口的主要属性。

  • 在Dart中没有直接声明接口的方法。然而,简单的类声明可以作为声明Dart接口的一种手段。
  • 一个Dart类可以同时实现多个接口。
  • Dart编程语言中接口的使用可以帮助我们实现多重继承。

如何在Ubuntu 20.04中使用Dart的接口?

要学习Dart编程语言中接口的使用,你必须了解下面的例子。

例子#1:一个Dart类实现另一个Dart类。

由于我们知道Dart编程语言没有直接声明接口的方法,因此,在这个例子中,我们将创建一个实现另一个类的类来模仿接口的功能。下面的Dart脚本就是为此而写的。

在这个Dart脚本中,我们定义了一个名为 "组织 "的类,它将充当一个接口。这个类有一个名为 "orgName() "的成员函数。它将不返回任何值,也不接受任何输入参数。然而,这个函数里面只有一个 "print "语句。在设计完这个类之后,我们又定义了一个名为 "Employee "的类,它实现了 "Organization "类。这意味着 "雇员 "类必须实现 "组织 "类的所有方法以及其他功能。

在 "雇员 "类中,我们声明了一个名为 "empName "的成员变量,它指的是雇员的名字。然后,我们有一个名为 "empInfo() "的函数,用来在控制台中打印雇员的名字。之后,我们在 "雇员 "类中实现了接口方法 "orgName()"。然后,在我们的 "main() "函数中,我们创建了一个名为 "Employee "类的实例,并使用该实例初始化了 "empName "变量。最后,我们通过使用该类的对象,调用了该类的方法或其自身的成员函数,以及该类中实现的接口的方法。

为了执行这个Dart脚本,我们使用了下面的命令。

$ dart run interfaces.dart

我们的第一个Dart脚本例子的输出显示在下面的图片中。在这个输出中最值得注意的是,"Employee "类的 "orgName() "函数中定义的信息被打印在终端上,而不是存在于接口类中。这意味着 "Employee "类已经成功实现了接口类或 "组织 "类。

例子#2:Dart类中缺少接口方法的实现

这个例子只是我们第一个例子的一个小修改版本。通过这个例子,我们想告诉你,当你在实现这个接口的类中跳过任何一个接口方法的实现时会发生什么。为了做到这一点,我们使用了为上面的例子设计的相同的Dart脚本。然而,这次我们注释了 "雇员 "类中 "orgName() "函数的实现,如下图所示。

脚本的其他部分是完整的。做了这个修改后,当我们试图执行我们的Dart脚本时,我们收到了下图所示的运行时错误。

这个错误信息明确指出,我们跳过了在实现该接口的类中植入一个接口方法。这意味着,除非我们在实现该接口的类中提供该接口方法的实现,否则我们无法执行这个Dart脚本。因此,在实现特定接口的类中提供所有接口方法的实现是必须的。

例子3:在一个Dart类中实现多个接口。

Dart编程语言中使用接口的概念也可以扩展到多个接口。一个Dart类可以轻松地同时实现多个接口。下图所示的Dart脚本就是为了证明这一点而写的。

在这个例子中,我们在Dart中定义了两个接口。组织和经理,而 "雇员 "类则实现了这两个接口。组织 "类只有一个名为 "orgName() "的成员函数。同样地,"经理 "类也只有一个成员函数,名为 "designation()"。实现了这两个接口的 "雇员 "类有自己的成员变量和一个成员函数。

除此之外,它还实现了 "组织 "和 "经理 "接口的两个方法。然后,在 "main() "函数中,我们刚刚创建了一个 "Employee "类的对象,并通过这个对象访问了它所有的成员变量和函数。

这个Dart脚本的输出显示在下面的图片中。这意味着我们在Ubuntu 20.04中使用Dart编程语言时已经成功实现了多个接口。

结语

在本教程的帮助下,我们想向你解释Dart编程语言中接口的用法。我们首先简要介绍了Dart中的接口,然后介绍了与Dart接口相关的几个主要属性。之后,我们和大家分享了三个实现Dart接口的不同例子。通过这些例子,你会很快理解Dart中接口的用法。