《Programming in Scala 3rd》阅读笔记我爱编程

Chapter 13 《Packages and Imports

2018-06-21  本文已影响11人  liqing151

在大程序中,减少耦合是很重要的,耦合是指程序不同部分依赖其他部分的程度。低耦合能够减少局部修改对其它部分造成的影响。方法就是以模块化的风格来书写代码。本章就是利用包和引入来进行模块化风格的编程。


将代码放进包里

引入

隐式引入

访问修饰符

限定词
 class C {
   private[this] val num = 123
   def +(that: C) = num + that.num // compile error
}

private[X]或者protected[X]表示上至X都可见,比如X是包名,则在这个包里是可见的。
protected[X]表示在该X中或者该类的子类中都是可见的。


可见性和伴生对象

包对象
// 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

包对象会编译成为package.class的类文件,位于该包的对应目录下。包对象的源码一般放在对应的包中,名为package.scala文件中。

上一篇 下一篇

猜你喜欢

热点阅读