第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Scala的案例類和類之間有什么區(qū)別?

Scala的案例類和類之間有什么區(qū)別?

繁花如伊 2019-09-18 10:44:37
我在谷歌搜索找到a case class和a 之間的差異class。每個人都提到當你想在類上進行模式匹配時,使用用例類。否則使用類并提及一些額外的額外津貼,如equals和hash code overriding。但這些是為什么應(yīng)該使用案例類而不是類的唯一原因?我想在Scala中這個功能應(yīng)該有一些非常重要的原因。有什么解釋或者是否有資源可以從中了解有關(guān)Scala案例類的更多信息?
查看完整描述

3 回答

?
心有法竹

TA貢獻1866條經(jīng)驗 獲得超5個贊

案例類可以看作是普通的和不可變的數(shù)據(jù)保持對象,它們應(yīng)該完全取決于它們的構(gòu)造函數(shù)參數(shù)。

這個功能概念允許我們

  • 使用緊湊的初始化語法(Node(1, Leaf(2), None))

  • 使用模式匹配來分解它們

  • 有隱含地定義的相等比較

結(jié)合繼承,case類用于模擬代數(shù)數(shù)據(jù)類型。

如果一個對象在內(nèi)部執(zhí)行有狀態(tài)計算或表現(xiàn)出其他類型的復雜行為,它應(yīng)該是一個普通的類。


查看完整回答
反對 回復 2019-09-18
?
Cats萌萌

TA貢獻1805條經(jīng)驗 獲得超9個贊

沒有人提到案例類也是Product這些方法的實例并因此繼承這些方法:


def productElement(n: Int): Any

def productArity: Int

def productIterator: Iterator[Any]

其中productArity返回的類的參數(shù)的數(shù)量,productElement(i)返回我個參數(shù),并productIterator允許通過迭代他們。


查看完整回答
反對 回復 2019-09-18
  • 3 回答
  • 0 關(guān)注
  • 928 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號