W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
到目前為止,我們看到的添加到包的都是類型,Trait 和單例對象(Object)。這些都是指包的定級層次定義的類型。Scala 的定級層次除了可以定義類,Trait,Object 之外,其它可以在類,Trait,Object 內部定義的類型,也都可以直接定義在包中,比如一些通用的函數(shù),變量,你都可以直接定義在包中。
在 Scala 中,可以把這些函數(shù)或方法放在一個稱為“包對象”中。每個包只有一個包對象,任何放在包對象的類型都可以認為是包自身的成員。
例如:
//in file bobsdelights/package.scala
package object bobsdelights{
def showFruit(fruit: Fruit){
import fruit._
println(name + "s are " + color)
}
}
//in file PrintMenu.scala
package printmenu
import bobsdelights.Fruits
import bobsdelights.showFruit
object PrintMenu{
def main(args:Array[String]){
for(fruit <- Fruits.menu){
showFruit(fruit)
}
}
}
本例中對象 PrintMenu 可以引入包對象中定義的函數(shù) showFruit,方法和引入一個類定義一樣,也是通過 import 語句。
包對象通常被編譯為 package.class,其包名為定義的包。所有按照慣例一般包對象定義放在 package.scala 中,比如上面的包對象可以放在 bobsdelights 目錄下的 package.scala 中。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: