golang的嵌入为什么不算继承?
面向对象设计的思想是从现实世界中抽象出来的一套理论。既然是对现实世界的抽象,继承的本质就是父子关系。例如,动物是父母,猫是孩子。不能说具有父类的属性或方法是继承。
go放弃继承的主要原因是继承随着面向对象的发展而被滥用了这么多年。然而,一些继承的特性是非常需要的,所以提供了“嵌入”以便于“模拟”继承,但其本质是组合,而不是继承。
让我给你一个例子来证明在go中嵌入是一个组合,而不是一个继承。
但是,根据面向对象理论,子类可以在父类可以使用的任何地方使用。显然,go嵌入不满足这个要求。吐槽:什么是头条最好的产品,当你可以抱怨技术文章的时候,代码编辑太不舒服了。
原文标题:结构体嵌套结构体赋值 golang的嵌入为什么不算继承?,如若转载,请注明出处:https://www.saibowen.com/news/19694.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。