Flutter基础介绍与实作-Day6 Dart语法介绍(3)

Throw
例用关键字 throw 也可以自行抛出例外、错误讯息,除了可以抛出 Dart 预设的例外、错误,我们也可以自行实作例外、错误
https://ithelp.ithome.com.tw/upload/images/20210920/20141032WCixYqsOGc.jpg

Finally
使用 try/catch 捕捉例外、错误,当例外、错误发生时,原本的流程就会被中断,接者会从try移动到 catch 中。如果有些事情一定需要处理,这时候就要使用到finally,关键字 finally 可以接在 try/catch 的最後方,无论程序是正常执行或是异常,在 finally 里面的程序码一定会被呼叫
https://ithelp.ithome.com.tw/upload/images/20210920/20141032qG3dMcIuSg.jpg

※try/catch/finally虽说这3个常常会一起出现,其实可以只使用其中2个,像是try/catch或是try/finally,这完全取自於当下发生的情况

Class
讲到类别(class)一定会讲到物件(object),其实他们算是一体两面的东西,简单来说:
类别算是一个蓝图、一个可参考的文件,他没有实体的概念,是静态的。
物件是具有实体概念,状态会随时改变,是动态的,但架构不会改变。
我觉得class中继承这个功能非常的好用,不过要记得Dart和Java一样一次只能继承一个父亲
https://ithelp.ithome.com.tw/upload/images/20210920/20141032qCnvh2J6Qt.jpg

Mixin
在Dart中还有一个神奇的机制,那就是Mixin,它能够让你的class使用其他class的功能,却不用成为它的子类。而且能一次Mixin多个class,使用起来比继承更有弹性。
※使用Mixin的关键字为with
Example:先定义一个Flutter class并让它继承People然後mixin Girl和Student这两个新增的类别
https://ithelp.ithome.com.tw/upload/images/20210920/20141032tS7ZOWIhGQ.jpg

非同步
我们先来认识一下跟Dart有关的3名词Future、async、await

  • Future:Future可以把它看成是一个class,用来表示结果。Future只会对应一个结果,要么成功,要么失败
    https://ithelp.ithome.com.tw/upload/images/20210920/20141032pvZhCgjv3T.jpg

  • Async:async是一个关键字,是用於区分function是同步或是非同步,使用方法是在定义function时加上async

  • Await:只能在非同步function中才能使用await,用来等待非同步工作的完成结果,使用await有助於程序码的易读性
    https://ithelp.ithome.com.tw/upload/images/20210920/20141032ygMH7H6AxK.jpg


今日总结
经过这3天的介绍大家有没有对Dart有多一点的了解了呢,如果有想要更深入了解Dart的语法可以到Dart的官方网站去做更深入的练习,从明天开始我们会正式进入Flutter的世界,至於要做些什麽大家可以稍微期待一下喔!


<<:  【Day8】 Introduction – while & for

>>:  Day 5 hook的前奏 useState

sed - 5 Replace command

前篇回顾 sed - 简介 读取编辑文字档的好工具 sed - 2 Pattern sed - 3 ...

[Day25] Array methods 阵列操作方法(3)

直接进入 Array methods 实作练习主题。 push() 新增元素至原阵列末端,可一次新增...

各式各样的演算法 - Greedy、Dynamic Programming 与 Divide and Conquer

题组回顾与观念统整 这一段我们着重在「动态规划」优化,如何从穷举或递回的方法中进一步地将结果记录下...

【从零开始的 C 语言笔记】第二十一篇-continue & break

不怎麽重要的前言 到现在我们大概介绍完了所有的回圈语法,大家可以依照自己的需要使用不同的回圈。 这次...

Day 23 实作 user_bp (1)

前言 今天要进入 user_bp,但因为他路径太多太复杂,所以我们必须分段处理,而今天要处理的是验证...