我很困惑abstractJulia中的类型是否可以有成员变量(比如C++中的虚拟类).我相信文档提到它但我找不到它!
我尝试过类似的东西:
abstract AbstractR
source
end
Run Code Online (Sandbox Code Playgroud)
现在我有一个具体的实现:
type RR <: AbstractR
end
function loadSource(reg::RR, x::AbstractString)
println("Hello")
end
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试加载模块时,我有:
错误:LoadError:LoadError:LoadError:UndefVarError:未定义源
那么抽象类型只是一个类型名称而没有别的吗?此外,为什么语言设计者决定不支持成员变量(如果确实如此).此外,我还没有真正看到有abstract类型的意义......
编辑
模块文件
module TestProj
export AbstractR
export RR
include("generic.jl")
include("rr.jl")
end
Run Code Online (Sandbox Code Playgroud)
generic.jl
abstract AbstractR
source
end
Run Code Online (Sandbox Code Playgroud)
rr.jl
type RR <: AbstractR
end
function loadSource(reg::RR, x::AbstractString)
println("Hello")
end
Run Code Online (Sandbox Code Playgroud)
至少我理解它的方式是抽象类型旨在用作"节点",因此它们本身不可实例化(sp?).因此,它们允许您将具体类型组织到层次结构中,并为方法分配任何一组具体类型提供了一种简便的方法.
(有了这个错误消息也应该有意义吗?)
| 归档时间: |
|
| 查看次数: |
362 次 |
| 最近记录: |