📅  最后修改于: 2023-12-03 15:30:52.508000             🧑  作者: Mango
F#构造函数是用于创建F#对象的函数。在F#中,构造函数采用与其他函数相同的语法,但是它们具有特殊的名称和用途。F#类和记录都有构造函数。
在F#中,类的构造函数被称为 new
方法,它的作用是初始化类的实例。new
方法应该与类的名称相同,并且返回 unit
类型。
type MyClass(arg1:int, arg2:string) =
let mutable x = arg1
let mutable y = arg2
member this.X with get() = x and set value = x <- value
member this.Y with get() = y and set value = y <- value
member this.DoSomething() =
printfn "%d %s" this.X this.Y
let obj = new MyClass(123, "abc")
obj.DoSomething() // 123 abc
在这个例子中,MyClass
类有两个构造函数参数: arg1
和 arg2
。x
和 y
成员字段分别被初始化为这些参数的值。 DoSomething
方法会打印 x
和 y
的值。
F#记录是一种轻量级且易于使用的数据结构,其中每个记录都有自己的属性。在F#中,记录的构造函数被称为“默认构造函数”,它用于创建新记录。
type MyRecord = { X:int; Y:string }
let r = { X = 123; Y = "abc" }
printfn "%d %s" r.X r.Y // 123 abc
在这个例子中,我们定义了一个名为 MyRecord
的记录,包含两个属性: X:int
和 Y:string
。我们使用花括号初始化了一个新记录 r
,并打印了它的属性。
F#构造函数是用于创建F#对象的特殊函数。类和记录都有构造函数,它们分别被称为 new
方法和“默认构造函数”。构造函数通常用于初始化对象并设置初始状态。