给予
type Rectangle struct {
h, w int
}
func (rec *Rectangle) area() int {
return rec.w * rec.h
}
Run Code Online (Sandbox Code Playgroud)
您可以Square使用 Rectangle定义结构,以便我可以使用 area 方法吗?如果不可能,那绝对没问题。我不会评判语言,不会哭泣或生气。我只是在学习golang。
Go 不是经典的面向对象,因此它没有继承。它也没有构造函数。它所具有的是嵌入。因此这是可能的:
type Rectangle struct {
h, w int
}
func (rec *Rectangle) area() int {
return rec.w * rec.h
}
type Square struct {
Rectangle
}
Run Code Online (Sandbox Code Playgroud)
这里的主要限制是该area()方法无法访问仅存在于Square.