iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
JavaScript

大樂透對獎系列 第 25

介面

  • 分享至 

  • xImage
  •  

基本上就是使用enum定義列舉時,使用implements實作介面,並實作介面定義的方法,就如同定義class時使用implements實作介面。

可以在實作Command的execut方法時,使用switch比對列舉實例,但其實可以有更好的作法,就是定義enum時有個特定值類別本體(Value-Specific Class Bodies)語法。

直接加上 {} 實作Command的execute方法,這代表每個列舉實例會有不同的execute實作,在職責分配上,比switch的方式清楚許多。

sealed介面的實作類別必須在同一套件中定義,並且必須使用final、non-sealed或sealed修飾,子介面必須在同一套件中定義,必須使用non-sealed或sealed修飾。

例如,有些語言允許函式傳回兩個值,有些開發者會用來傳回錯誤值與正確值,遇到這類函式,函式的呼叫者必須檢查傳回值,分別針對函式執行成功及失敗進行處理。

如果想在Java模擬這種效果,可以設計Either介面,因為只有錯誤與正確的可能性,可以使用sealded修飾Either介面,只允許有Left、Right兩個類別。


上一篇
介面
下一篇
介面
系列文
大樂透對獎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言