[解決済み] Scalaのcase classとclassの違いは何ですか?
2022-03-22 03:52:32
質問
Googleで検索してみると
case class
と
class
. クラスでパターンマッチを行う場合は、case classを使用するようにと皆さんおっしゃっています。それ以外の場合はクラスを使い、さらにイコールやハッシュコードのオーバーライドなどの特典についても言及されています。しかし、クラスではなくケースクラスを使うべき理由はそれだけなのでしょうか?
Scalaのこの機能には、何かとても重要な理由があるのでしょうね。その説明や、Scalaのケースクラスについて詳しく知ることができるリソースはあるのでしょうか?
どのように解決するのですか?
ケースクラスは、次のように見ることができます。 コンストラクタの引数にのみ依存する、平易で不変のデータ保持オブジェクト。 .
この機能概念により
-
は、コンパクトな初期化構文 (
Node(1, Leaf(2), None))
) - パターンマッチングで分解する
- 等価比較が暗黙のうちに定義されている
継承と組み合わせることで、ケースクラスは 代数的データ型 .
オブジェクトが内部でステートフルな計算を行ったり、他の種類の複雑な振る舞いをする場合は、通常のクラスであるべきです。
関連
-
[解決済み] expr() での lit() の使用について
-
[解決済み] クロージャ」と「ラムダ」の違いは何ですか?
-
[解決済み] Scalaのオブジェクトとクラスの違い
-
[解決済み] self-typesとtrait subclassの違いは何ですか?
-
[解決済み】Scala 2.8のコレクション・ライブラリは「歴史上最も長い遺書」のケースか?[クローズド] Scala
-
[解決済み】Scalaの記号演算子にはどんな意味があるの?
-
[解決済み】良いスカラズの紹介【終了しました
-
[解決済み】ScalaでVectorを選択するのはどんなとき?
-
[解決済み】Scalaのyieldとは何ですか?
-
[解決済み】ScalaのJavaConvertersとJavaConversionsの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] java.lang.NoClassDefFoundError: scala/Product$class
-
[解決済み] SparkはYarnクラスタ上で動作しています exitCode=13:
-
[解決済み] Scalaの''って何?
-
[解決済み】Scalaにおける中括弧と括弧の正式な違い、また、どのような場合に使用すべきなのか?
-
[解決済み】ScalaのHigher kinded typeとは何ですか?
-
[解決済み】関数を定義する "def "と "val "の違いとは?
-
[解決済み】Scalaでリスト内のアイテムを取得する?
-
[解決済み】ScalaのfoldLeftとreduceLeftの違いについて
-
[解決済み] Scalaは、コレクションをMap-by-keyに変換する最良の方法ですか?
-
[解決済み] scala のコンストラクタのパラメータはデフォルトで private val になりますか?