TransWikia.com

Scalaでクラスをsealedにする理由とは?

スタック・オーバーフロー Asked by letrec on December 28, 2021

scala.collection.mutable.TreeMapがsealedで、その他のMap(例えばHashMap)がそうでないのは何故でしょうか?(さらに言えば、immutableなTreeMapはfinal、HashMapはsealedになっており、修飾子をつける基準が見いだせませんでした。)

Scalaでsealedなクラスを使うのは、case classと組み合わせてパターンマッチの漏れをコンパイラが検出できるようにするためだと思っていたのですが、それ以外に理由はあるのでしょうか?

One Answer

継承して拡張することは防ぎたいけれど、finalにするとrangeImplなどでTreeMapを継承したクラスを返すことが出来ないという実装詳細ではないかと思います。

Answered by zakki on December 28, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP