📜  F#构造函数

📅  最后修改于: 2021-01-01 14:30:55             🧑  作者: Mango

F#构造函数

在F#中,构造函数与其他.Net语言有所不同。总有一个主构造函数,可能有也可能没有参数。这些参数的范围遍及整个类。

您可以使用new关键字创建一个新的附加构造函数。构造函数的主体必须调用在类声明顶部指定的主要构造函数。

F#构造函数示例

type Employee(name) = 
 class
  do printf "%s" name
 end
let e = new Employee("FSharp")

输出:

FSharp

F#非参数构造函数

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

F#参数化构造函数

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