在做一個很大的程序的時候,使耦合(程序各個部分依賴于其他部分的程度)最小化十分重要!
減少耦合性的方式之一是使用模塊化風格編寫代碼。將程序分解成若干比較小的模塊,把每塊分成內部和外部。
在模塊內部工作時,只需要和同樣工作于這個模塊的程序員交互。
只有必須要改變模塊的外部時,才需要和工作于其他模塊的開發人員交互。
-
包
- Scala的代碼采用了Java平臺完整的機制,兩種方式將代碼放入包中
- 通過把package子句放在文件頂端的方式把整個文件內容放進包里
- 在package子句之后把要放到包里的定義用花括號括起來,該方法可以把文件的不同部分放在不同的包里
- Scala的包是嵌套的,命名包時不需要從根部開始,而java必須要從根開始
-
引用
- 包和其內成員可以用關鍵字 import 子句來引用
- 例如 import java.io.File; 之后就可以用File來進行操作,而不需要寫全稱
- Scala的引用可以出現在任何地方,且可以指向任意值
- 可以重命名或隱藏一些被引用的成員
- import Fruits.{Apple,Orange}; //此例只引用了對象Fruits的Apple和Orange成員
- import Fruits.{Apple => McIntosh,Orange}; //引用對象Fruits的Apple成員時可以用McIntosh來代替
- 總結
- 簡單名x,把x包含進引用名集
- 重命名子句x => y,讓名為x的成員以名稱y出現
- 隱藏子句x => _,把x排除在引用名集之外
- 全包括 ‘_’,引用除了前面子句提到的之外的全體成員
-
隱式引用
- import java.lang._
- import scala._
- import Predef._
-
訪問修飾符
- 私有成員,處理方式與Java相同
- 保護成員,處理方式比Java嚴格,只在定義了成員的類的子類中可以被訪問,而Java是在同一個包內都可以
- 公有成員,沒有被標記的都是公有的,沒有顯示的修飾符