搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 前端知否 > Flutter必备语言Dart教程03 - 类,泛型

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

前端知否 2019-11-08

上篇中我们学习了,现在我们继续学习Dart中的类和泛型。


Class类

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



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


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


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


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

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

命名的构造函数

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

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

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

继承

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

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

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

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

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

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

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

方法

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

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

覆盖方法也很简单。

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

Getters & Setters

默认情况下,您在类中定义的任何变量,只需引用对象上的变量名称即可访问,例如dog.name,对象变量也可以直接赋值。

但有时你想自定义属性的getter和setter,在Dart中你可以使用 get 和 set 关键字来自定义getters和setters。

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

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

控制可访问性

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

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


抽象类和方法

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

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

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

静态方法

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

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


枚举

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



泛型

Dart全面支持泛型。假设您正在编写一个只保存数据的类,并且您希望它能够保存任何类型的数据。如下所示:





相关文章:




版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《Flutter必备语言Dart教程03 - 类,泛型》的版权归原作者「前端知否」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注前端知否微信公众号

前端知否微信公众号:qianduanzhifou

前端知否

手机扫描上方二维码即可关注前端知否微信公众号

前端知否最新文章

精品公众号随机推荐

下一篇 >>

CSS混合模式