您好,登錄后才能下訂單哦!
這篇文章主要介紹“scala的自類型是什么”,在日常操作中,相信很多人在scala的自類型是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”scala的自類型是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
自類型用于聲明一個特質必須混入其他特質,盡管該特質沒有直接擴展其他特質。 這使得所依賴的成員可以在沒有導入的情況下使用。
自類型是一種細化 this
或 this
別名之類型的方法。 語法看起來像普通函數語法,但是意義完全不一樣。
要在特質中使用自類型,寫一個標識符,跟上要混入的另一個特質,以及 =>
(例如 someIdentifier: SomeOtherTrait =>
)。
trait User {
def username: String
}
trait Tweeter {
this: User =>
def tweet(tweetText: String) = println(s"$username: $tweetText")
}
class VerifiedTweeter(val username_ : String) extends Tweeter with User {
def username = s"real $username_"
}
val realBeyoncé = new VerifiedTweeter("Beyoncé")
realBeyoncé.tweet("Just spilled my glass of lemonade")
因為我們在特質 trait Tweeter
中定義了 this: User =>
,現在變量 username
可以在 tweet
方法內使用。這也意味著,由于 VerifiedTweeter
繼承了 Tweeter
,它還必須混入 User
(使用 with User
)。
到此,關于“scala的自類型是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。