从派生类计算基类参数

迈克尔·迈耶

我有以下问题(编程语言:scala):派生类D必须使用其自身的参数进行较长的计算才能计算基类参数:

class D(a:Int,b:Int) extends B(f(a,b)) {...}  

现在,我似乎有3种可能性:

(a)将f(a,b)的主体直接放在B的构造函数中:B({...})

(b)在D的伴随对象中将f定义为静态函数

(c)将f定义为D的成员函数,该成员函数恰好是静态的

(a)似乎很不雅。这些方法甚至合法吗?你会怎么做?

我问的是问题,因为我是从Scala开始的,而我们的组织实际上还没有安装Scala,所以我只能在家中间歇地进行实验。

感谢您的所有回复。

塞尔吉·拉古丁(Sergii Lagutin)

apply伴侣对象中的实现方法,以适当的方式转换构造函数的参数

object B {
  def f(a: Int) = a

  def apply(a: Int, b: Int) = new B(f(a), f(b))
}

如果始终需要转换构造函数参数,请考虑API的正确性。我想代码审查有助于使此代码更好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基类对象作为派生类的参数

来自分类Dev

从派生类创建基类对象

来自分类Dev

从基类创建派生类的实例

来自分类Dev

从基类的派生类访问属性

来自分类Dev

静态实例基类/派生类

来自分类Dev

从基类方法克隆派生类

来自分类Dev

非多态派生类的基类

来自分类Dev

基类中派生类的组成

来自分类Dev

从派生类访问基类对象

来自分类Dev

派生类定义的基类集合

来自分类Dev

对派生类对象的基类引用

来自分类Dev

从基类指针访问派生类

来自分类Dev

从基类指针克隆派生类

来自分类Dev

从基类方法克隆派生类

来自分类Dev

静态实例基类/派生类

来自分类Dev

基类中派生类的组成

来自分类Dev

从基类修改派生类的值

来自分类Dev

使用派生类类型作为基类的通用操作的参数

来自分类Dev

在派生类对象作为参数的基类中声明纯虚函数

来自分类Dev

将派生类传递给定义为采用基类参数的函数

来自分类Dev

Cython / Python / C ++-继承:将派生类作为参数传递给需要基类的函数

来自分类Dev

如何避免在C ++中的派生类中重复基类构造函数参数?

来自分类Dev

C ++基类构造函数,将派生类作为参数(?)

来自分类Dev

在派生类对象作为参数的基类中声明纯虚函数

来自分类Dev

尽管不同的参数列表,基类模板成员函数仍在“派生类”中隐藏

来自分类Dev

我可以将派生类的模板参数转发到CRTP中的基类吗?

来自分类Dev

如何在将参数传递给基类的同时反序列化派生类

来自分类Dev

作为参数传递给重载方法时,区分基类和派生类

来自分类Dev

派生类函数参数作为基类引用导致C2678