📅  最后修改于: 2021-01-01 14:30:55             🧑  作者: Mango
在F#中,构造函数与其他.Net语言有所不同。总有一个主构造函数,可能有也可能没有参数。这些参数的范围遍及整个类。
您可以使用new关键字创建一个新的附加构造函数。构造函数的主体必须调用在类声明顶部指定的主要构造函数。
type Employee(name) =
class
do printf "%s" name
end
let e = new Employee("FSharp")
输出:
FSharp
type Employee(id) =
class
new () = // This is non parameterized constructor
printf "This is non parametrized constructor"
Employee(12)
end
let e = new Employee()
输出:
This is non parametrized constructor
type Employee (id,name,salary)=
class
let mutable Id= id
let mutable Name = name
let mutable Salary = salary
member x.Display() =
printfn "%d %s %0.2f" Id Name Salary
end
let a = new Employee(100,"Rajkumar",25000.00)
a.Display()
let a1 = new Employee(101, "john",26000.00)
a1.Display()
输出:
100 Rajkumar 25000.00
101 john 26000.00