-
Notifications
You must be signed in to change notification settings - Fork 0
(计算机)Initializer
Chen Xiaojie edited this page Dec 18, 2022
·
1 revision
initialize 有两个名词形态:"Initializer"、"Initialization"。Initialization 译为初始化,而将 Initializer 视为专有名词即可,无需翻译。
而普遍意义上,an Initializer 是指 对一个 variable 进行初始化赋值。
在面向对象的编程中,初始化代码 (Initialization code) 分为两种,一种是构造器 (constructor) ,另一种是初始化器 (initializer) 。区别在于,constructor 初始化参数是固定的,如果初始化参数有两个的话,就必须输入两个参数。
class MyObject{
public MyObject(param1, param2){...}
}
// 可运行
MyObject myObjectInstance = new MyObject(param1, param2);
// 不允许 × 只填其中一个
MyObject myObjectInstance = new MyObject(param1);
object initializer是在 constructor 之后,对特定可见字段赋值:[^1]
MyObject myObjectInstance = new MyObject(param1, param2)
{
MyProperty = someUsefulValue // an object initializer
};
在Go语言里,可以这样一次性使用若干个 Initializers:[^2]
package main
import "fmt"
var i, j int = 1, 2
func main() {
var c, python, java = true, false, "no!" // Initializers
fmt.Println(i, j, c, python, java)
}
[^1]: Object and Collection Initializers (C# Programming Guide))