我知道 Go 没有这样的 OO 概念,但让我借用它们只是为了更容易解释。
OO 继承允许将行为概括为更抽象的类型或类,使用类及其子类,其中子类继承父类的所有成员字段和行为。Go 没有这样的概念,但是可以实现相同的范式,其中文章解释了 Go 中的继承和子类化。
我的问题更多是关于作业。假设我有一个“基类”Vehicle 和一个“继承类”Car,如下所示:
type Vehicle struct {
wheelCount int
}
type Car struct {
Vehicle //anonymous field Vehicle
Maker string
}
在真正的 OO 中,我可以将一个 Vehicle 对象分配给一个 Car 对象,但是在 Go 中我还没有找到一种方法来做到这一点。所以我的问题是,
有可能这样做吗?
否则,从“车辆”编写“汽车”构造函数的 Go 方法是什么?我知道规范的方式是c := Car{Vehicle{4}, "Ford"},但是如果我在 Car 中有其他成员字段,例如 Module 等,并且我只想从 Vehicle 初始化成员字段,没有别的怎么办?
我已经为你准备了一些东西, http://play.golang.org/p/dcs9r7vPjZ
萧十郎
相关分类