iT邦幫忙

2021 iThome 鐵人賽

DAY 6
1
自我挑戰組

Flutter系列 第 6

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的世界,至於要做些什麼大家可以稍微期待一下喔!


上一篇
Flutter基礎介紹與實作-Day5 Dart語法介紹(2)
下一篇
Flutter基礎介紹與實作-Day7 Hello Flutter(1)
系列文
Flutter30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言