我正在尝试理解从另一个类继承一个类的语法,似乎我必须在创建子项时声明父类的构造函数参数?
为什么这段代码无法编译?
data.frame
但这确实
class Animal(name:String)
class Dog extends Animal //Here is where compiler error occurs
他们有必要明确说出 class Animal(name:String)
class Dog(name:String ) extends Animal(name)
而不仅仅是extends Animal(name)
并隐含构造函数吗?
答案 0 :(得分:3)
Scala语言规范没有(据我所知)讨论原因,但提供隐含的构造函数将是一个特殊情况,并且可以说不太明确。
请注意,您可以执行以下操作:
class Animal(name:String)
class Dog extends Animal("Dog")
和
class Animal(name:String)
class Dog(n1: String, n2: String) extends Animal(n1 + n2)
因此,当前的行为以统一和明确的方式适应各种模式。
答案 1 :(得分:0)
假设您有a
的两个构造函数:
#pragma omp parallel for private(i,j,a,nextSudokuNum)
for(i = 0; i < 9; i++)
{
// all private variables must be set internal to parallel region before being used
nextSudokuNum = 1;
for(j = 0; j < 9; j++)
{
a = 0;
while(sudoku[i][a] != nextSudokuNum) {
a++;
if(a > 9) {
rowReturn[i] = false;
}
}
nextSudokuNum++;
}
}
您希望Animal
使用哪一种?