📅  最后修改于: 2021-01-01 14:33:31             🧑  作者: Mango
继承是面向对象编程方法的功能。它允许在派生类中继承基类的属性。它提高了代码的可重用性。
F#提供了Inherit关键字以使用继承。如果默认情况下不使用继承关键字,它将继承对象类。一类最多只能有一个直接基类。派生类或子类可以访问基类的所有数据成员,但let绑定对基类是私有的。
您可以使用base关键字访问基类数据成员,它的作用类似于java中的super关键字。
以下示例说明了如何在F#中实现继承。
type Employee(name:string) =
class
member this.ShowName() = printf"Name = %s\n" name
end
type Manager(name,salary:int) =
class
inherit Employee(name)
member this.ShowSalary() = printf"Salary = $%d" salary
end
let manager = new Manager("Rajkumar",10000)
manager.ShowName()
manager.ShowSalary()
输出:
Name = Rajkumar
Salary = $10000