Scala基礎應用(3)- 特質
特質是scala實現多繼承的方式,類似於interface類, 但也有區別,在特質裏,還可以定義實現體方法,特質可以被其它類繼承的方式是使用with或extends
樣式
trait 名稱 { this: 類名 // 該特質只能被該類或該類的子類繼承- 自身類型 方法定義或方法體 }
堆疊
試想兩個特質定義了同樣的方法會怎麼樣?它會堆疊,即根據繼承的順序調用所有with相同的方法,而不會覆蓋。 堆疊方法是否需要定義爲abstract?
特質是scala實現多繼承的方式,類似於interface類, 但也有區別,在特質裏,還可以定義實現體方法,特質可以被其它類繼承的方式是使用with或extends
樣式
trait 名稱 {
this: 類名 // 該特質只能被該類或該類的子類繼承- 自身類型
方法定義或方法體
}
堆疊
試想兩個特質定義了同樣的方法會怎麼樣?它會堆疊,即根據繼承的順序調用所有with相同的方法,而不會覆蓋。
堆疊方法是否需要定義爲abstract?