如何创建一个继承F#中接口的抽象类?
我有以下带有接口和抽象类的代码如何创建一个继承F#中接口的抽象类?,f#,F#,我有以下带有接口和抽象类的代码 type INode<'a> = abstract member Parent:INode<'a> abstract member Evaluate:unit->'a abstract member Clone:INode<'a> -> INode<'a> abstract member SelectRandom:int->INode<'a> op
type INode<'a> =
abstract member Parent:INode<'a>
abstract member Evaluate:unit->'a
abstract member Clone:INode<'a> -> INode<'a>
abstract member SelectRandom:int->INode<'a> option
[<AbstractClass>]
type TerminalNode<'a>() =
interface INode<'a> with
member this.SelectRandom indexOfCurrentNode =
let p = 1.0 / float indexOfCurrentNode
if Random().NextDouble() < p then Some (this:>INode<'a>) else None
类型索引节点
抽象成员评估:单位->'a
抽象成员克隆:INode
抽象成员SelectRandom:int->INode您可以在类型上定义抽象成员,然后提供指向这些抽象成员的实现。例如:
[]
类型终端节点
抽象成员评估:单位->'a
抽象成员克隆:INode
接口INode您可以定义类型上的抽象成员,然后提供指向这些抽象成员的实现。例如:
[]
类型终端节点
抽象成员评估:单位->'a
抽象成员克隆:INode
接口节点