gpt4 book ai didi

OOP - 如何在 Reason 中创建接口(interface)

转载 作者:行者123 更新时间:2023-12-04 13:40:50 27 4
gpt4 key购买 nike

假设我有以下 abstractProductA 类和一个名为 methodA 的公共(public)方法:

class abstractProductA = {
pub methodA => "name";
};

我想创建一个接口(interface),说明函数 methodA 应该总是返回一个 string。类似于

interface abstractProductA {
abstractProductA(): string
}

只有在合理的情况下,然后让类实现它。任何建议都非常受欢迎。谢谢

最佳答案

你真正要求的似乎是如何定义和使用抽象类,在 OCaml/Reason 中称为虚拟类:

class virtual virtualProductA = {
pub virtual methodA: string;
};

class abstractProductA = {
inherit virtualProductA;
pub methodA = "name";
};

接口(interface)更多的是让消费者抽象出一个实现,而虚拟类本身可以用作接口(interface),因为 OCaml/Reason 对象是结构类型的,你也可以只指定你需要的对象类型。当然,如果您愿意,您可以将它绑定(bind)到一个名称:

type interfaceA = {.
methodA : string
};

let f (p: interfaceA) => Js.log p#methodA;
f (new abstractProductA);

关于OOP - 如何在 Reason 中创建接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46290507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com