vb6.0 定义一个公共类_Flutter必备语言Dart教程03 - 类,泛型

513375709f87c5906e4b6ac6228a3997.png

上篇中我们学习了Flutter必备语言Dart教程02 - 控制流,异常,现在我们继续学习Dart中的类和泛型。

Class

以下是在Dart中声明一个简单类,并创建它的实例的方法。

2dc3a1edd49598fc0f4d119915319aed.png

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

e75ac085dab66419b912ce9940338aba.png

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

3e530888d1ba6b54d8d9e342f86a2a8a.png

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

命名的构造函数

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

a4aa1f91dd750977c47b8ee50aa78b62.png

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

继承

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

2bedbf96854878aeaf9335c6a5a2c6b9.png

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

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

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

003ebe17971997202f3ef31f700cc1a7.png

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

方法

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

e115f8914ab53c1b98f0f94130883ad7.png

覆盖方法也很简单。

d0dc12b575dc8942e67e3d6b7e9ab38f.png

Setter

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

80d977191818f9492a3098464445dbce.png

现在类属性仍然可见并且可以随意更改,接下来我们把类属性设为私有。

控制可访问性

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

7b8ac86e43415529a67f888cdbb58c73.png

抽象类和方法

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

90b1bc0778d2477a962248ed0de55a6d.png

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

静态方法

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

abd630edfc8a89533ee609ee2552514d.png

枚举

Dart支持枚举,并像其他语言一样使用。如果你来自Java语言,会很熟悉它们。

5a6f3e450cd14bb5bb0bfad65c245963.png

泛型

Dart全面支持泛型。假设您正在编写一个只保存数据的类,并且您希望它能够保存任何类型的数据。以下是使用泛型编写该类的方法。

da86af62db46287035279ed6fda3dcfe.png

相关文章:

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

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

Flutter必备语言Dart教程04 - 异步,库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值