iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0

今天來聊聊Scala的套件(package)

想像在寫大型程式,我們會希望能降低不同區塊的程式彼此間的依賴程度,也就是說減少耦合(coupling)。程式之間的依賴程度越大,改動程式時所帶來的風險也就越高,有時更動某個無害的程式區塊可能就會造成嚴重的後果。

其中一個減少耦合的方式是以模組化的風格來寫我們的程式,將程式切割成多個較小的模組,而每個模組又分為內部和外部。當我們在處理內部模組(實作部分)時只需要跟其他處理相同區塊的人合作,而當我們處理外部模組(介面部分)時才有需要跟處理其他區塊的開發者合作。

這邊會提到一些能幫助我們以模組化風格開發程式的方法:

  1. 將程式碼放進套件
  2. 使用匯入(imports)讓名稱更為可見
  3. 使用存取修飾詞(access modifiers)來控制定義的可見度

今天先來介紹如何將程式碼放進套件

在Scala有兩種方式可以做到

第一種是在file頂部寫一個package然後把整個file的內容丟到裡面

package project.beginner
class Beginner

package子句把beginner類別放入名為project.beginner的套件裡

第二種方式稱為packaging,在package後把程式碼丟進中括號裡

package project.beginner {
    class Beginner
}

這個方法其實跟上面那個一樣,不過它可以讓我們在一個file裡包含多個套件的內容

package project {
    package beginner {
        class Beginner
        
        package test {
            
            class Beginner2
        }
    }
}

上一篇
[Day 18]Scala Traits Part2
下一篇
[Day 20]Scala Imports
系列文
連續30天 初學者介紹Scala語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言