GO语言:优雅地实现多重继承

JM_Joy ·
qkb_75_go
琴为心声
OO中class的"子继承父"是:子 is_a 父; GO中type的"内嵌式继承"是:子 has_a 父; 父不过是子的一种属性而已。 所以,同一个type的不同数值,通过某个属性的不同值完全可以区别。 比如张三和李四都是人,但他们的名字不一样,可以以此区分这两个具体的人。 名字应该作为人的成员变量。如果将名字叫“张三”的人和名字叫“李四”的人分别定义成两个类,均继承“人”这个类,显然是不合理的。 这样,别的OO很头疼的多重继承,本质上其实是无意义的。 这也正是 go语言的伟大之处: 大道至简。
#1