无涯教程-F# - 构造函数

29 阅读1分钟

在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

参考链接

www.learnfk.com/fsharp/f-sh…