Flutter必备语言Dart教程03 - 类,泛型


上篇中咱们学习了Flutter必备语言Dart教程02 - 控制流,异常,如今咱们继续学习Dart中的类和泛型。函数

Class

如下是在Dart中声明一个简单类,并建立它的实例的方法。学习

向类中添加实例变量,以及构造函数this

Dart提供了一种构造函数初始化的简洁语法。以下所示:spa

如您所见,咱们编写了一行构造函数,第一个参数值将设置为name,第二个参数值将设置为age。如今咱们就不用写 this.name = name 这样的无聊语句了。cdn

命名的构造函数

Dart提供了另外一种定义构造函数的方法,称为命名构造函数。对象

如您所见,咱们为构造函数提供了一个名称。这样咱们在调用不一样构造函数时,语义会更加清晰明了,不用根据参数去判断了。blog

继承

您可使用extend关键字在Dart中继承其余类。继承

这里咱们的Pug类继承自Dog类,并使用super关键字,传入适当的参数,调用Dog类的构造函数。教程

您还能够在冒号(:) 以后使用关键字this来调用同一类中的其余构造函数。rem

冒号(:)后边能够作一些初始化操做,好比调用构造函数、实例变量赋值等。

这里咱们建立两个命名构造函数,它们只有name参数,并调用默认的Pug构造函数。

方法

类中的方法与Dart中定义普通方法相似。

覆盖方法也很简单。

Setter
默认状况下,您在类中定义的任何变量,只需引用对象上的变量名称便可访问,例如dog.name,对象变量也能够直接赋值。但有时你想自定义属性的getter和setter,在Dart中你可使用 get 和 set 关键字来自定义getter和setter。

如今类属性仍然可见而且能够随意更改,接下来咱们把类属性设为私有。

控制可访问性

默认状况下,您在类中定义的每一个属性和方法都是公共的,能够直接访问。在Dart中,您能够经过在其名称前添加“_”来使任何变量或方法变为私有。让咱们将name属性设为私有。

抽象类和方法

您可使用abstract关键字,在Dart中建立一个抽象类。

您只须要在类声明以前提供abstract关键字。对于方法,只需提供签名并省略实现。

静态方法

要使字段/方法静态,只需在声明以前,添加关键字static。

枚举

Dart支持枚举,并像其余语言同样使用。若是你来自Java语言,会很熟悉它们。

泛型

Dart全面支持泛型。假设您正在编写一个只保存数据的类,而且您但愿它可以保存任何类型的数据。如下是使用泛型编写该类的方法。


相关文章:

Flutter必备语言Dart教程01 - 变量,类型,函数

Flutter必备语言Dart教程02 - 控制流,异常

相关文章
相关标签/搜索