我有一个类层次结构,我更喜欢有三个级别的case类: 我只是在外围意识到Case Classes不承认继承:但我闻到了这一杯咖啡。
所以,现在我有:
"Grandparent" : Abstract class that extends Product
"Kids": Case Classes (concrete - these are instantiated within the framework)
"Grandkids" Case classes (not allowed)
现在框架周围有许多样板需要Case Classes的各个方面:所以我不愿意将“Kid”转换为非case类。在那种情况下,至少我需要实现(为了框架的目的):
我对实现这些问题的关注是:它会导致更多的代码需要我的审阅者进行分析,然后进行维护。
有关如何减轻Case Classes的非继承限制对代码膨胀影响的任何想法?
答案 0 :(得分:0)
按照几条评论的顺序排序 - 尤其是@naemul:我已将“子级”级别(3级层次结构的中间级别)转换为(抽象类/具体类)的组合。
GrandParent (abstract class)
|
Abstract Kids
/ \
Concrete Kids (case classes) \
Concrete Grandkids (case classes)