Julia中如何让结构体B复用A的字段x,实现类继承的效果?
问题背景
我查阅过相关讨论和Julia官方文档的类型相关章节,但问题仍未解决,因此写下这个问题。
假设有以下两个结构体:
struct A x end struct B x y end
其中A是B的泛化形式,放在Python或C++这类语言里,我会让B继承自A。但就我目前的理解,Julia里没有继承机制,如果我的理解错了,请指正!
我对Julia抽象类型与子类型的现有理解
我刚接触Julia的抽象类型和子类型概念,目前我知道可以这么实现:
abstract type C end struct A <: C x end struct B <: C x y end
此时A和B都是C的子类型,满足以下判断:
(A <: C) == true (B <: C) == true (A <: B) == false (B <: A) == false
所以没法把B的实例赋值给类型为A的变量,反过来也不行。
核心问题
回到最开始的代码示例,能不能让B“继承”A的特性,同时不用在B里重复定义字段x?就像其他语言里继承的预期效果那样?
内容的提问来源于stack exchange,提问作者fakl
相关产品推荐
相关产品推荐

