我正在学习 OCaml 的 OOP 结构并在今天部分实现,直到我意识到我不知道如何在不使用对象外部的 type 关键字的情况下表示多态匹配语句。
class bar (param:string) =
object (code)
end;;
class foo param =
object (code)
initializer
match param with
string -> Printf.printf "param is a string"
| bar -> Printf.printf "param is a bar"
end;;
let b = new bar "a string";;
let f1 = new foo "test";;
let f2 = new foo b;;
是否可以即时确定传入的对象类型?