草庐IT

继承权

全部标签

java - 如何将此 Java 接口(interface)和继承结构转换为 Golang?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion是否可以将这种使用接口(interface)和继承的Java结构改写成惯用的Golang方式?这不是super复杂的Java代码,但它显示了类继承的力量,但我想尝试以某种方式在Go中实现相同的结果Java代码:首先有一个类接口(interface)。publicinterfaceWebEntry{Stringperform(ConnectionDataconnectionData,SessionDatas

json - 在golang中处理json继承

我有一个处理json继承的Java代码,代码是这样的:publicclassBaseMessage{privateStringmessageId;privateIntegertype;...}publicclassTextMessageextendsBaseMessage{privateStringrecipient;privateStringsender;...}publicclassSystemTextMessageextendsBaseMessage{privateStringfield1;privateStringfield2;...}还有一些其他类我正在像这样使用Gson库:

go - go数据结构中的继承

有没有更好的方法来实现go中的继承?(在c#中,我们使用抽象类和接口(interface)来实现类似的行为)。请引用以下代码以了解问题。我尝试在Go中使用接口(interface),但无法访问结构的数据字段。typeVehiclestruct{IdintNamestringVehicleTypeVehicleTypeBase}typeVehicleTypeBasestruct{IdintNamestringMilageint}typeVehicleTypeSedanstruct{VehicleTypeBaseIsABSEnabledbool}typeVehicleTypeHatchba

inheritance - 从基类分配到 Go 中的继承类

我知道Go没有这样的OO概念,但让我借用它们只是为了更容易解释。OO继承允许将行为概括为更抽象的类型或类,使用类及其子类,其中子类继承父类的所有成员字段和行为。Go没有这样的概念,但是canachievethesameparadigm,其中文章解释了Go中的继承和子类化。我的问题更多是关于作业。假设我有一个“基类”Vehicle和一个“继承类”Car,如下所示:typeVehiclestruct{wheelCountint}typeCarstruct{Vehicle//anonymousfieldVehicleMakerstring}在真正的OO中,我可以将Vehicle对象分配给Ca

inheritance - Golang 继承和方法覆盖

澄清:我刚学围棋,遇到了这个问题。我正在尝试实现一个“类”,它继承了一个方法,该方法调用了一个应该由子类实现的“虚拟”方法。这是我的代码:https://play.golang.org/p/ysiaPwARkvlpackagemainimport("fmt""sync")typeParentstruct{sync.MutexMyInterface}func(p*Parent)Foo(){p.Lock()deferp.Unlock()p.Bar()}func(p*Parent)B(){panic("NOTIMPLEMENTED")}func(p*Parent)A(){p.Lock()de

go - 将结构 B(继承自结构 A) append 到结构 A 的一片中

我有一个继承自结构A的结构B。我有另一个结构C(其中包含一部分结构A),我想将Bappend到C。packagemaintypeAstruct{targetstring}typeBstruct{Avalues[]int}typeCstruct{Cols[]*A}funcmain(){varvalues=[]int{1,2,3}varcol1=C{}varcol2=&B{A:A{target:"txt",},values:values,}col1.Cols=append(col1.Cols,col2)}运行此代码时,会产生错误:不能将col2(type*B)用作append中的type*

go - 在这种特定情况下,在 Go 中模仿继承的最惯用的方法是什么?

我一直在思考我遇到的这个特殊问题,我应该如何以最干净的方式解决它。想象一个看起来像这样的应用程序:typeAreaCalculatorinterface{Area()int}typeRectanglestruct{colorstringwidthintheightint}type(r*Rectangle)Area()int{returnr.width*r.height}typeCirclestruct{colorstringdiameterint}type(c*Circle)Area()int{returnr.diameter/2*r.diameter/2*π}typeCanvasst

inheritance - 处理 Go 中缺乏继承的最佳实践

我正要开始编写一个新的应用程序,我正在考虑用Go编程,但我没有这方面的经验。由于Go不支持继承,我如何忠实地将这样的域翻译成Go,同时仍然符合Go的哲学?:一个人有2条腿和2条胳膊,可以走路。音乐家是一个人,有乐器并且可以演奏,有分区并且可以阅读。但没有人只能是音乐家,因为音乐家拥有并会演奏特定的乐器。fiddle手是拥有fiddle并会拉fiddle的音乐家钢琴家是拥有钢琴并会弹奏钢琴的音乐家。当一个fiddle手/钢琴家走在街上时,每个人都只把他看作一个人。也许我们可以像这样重新构造域以删除任何"is"关系,以便它可以翻译成Go:fiddle手有一个人的部分,一个音乐家的部分,一把

go - 在继承的结构上使用链方法

我是Go的新手。我正在解决一个与此相似的问题,我有一个从Animal结构继承的结构Dog。我想链接方法,这样我就可以得到像“我是动物。汪!”这样的结果。但是当我运行这个程序时,它产生了一个错误dog.Animal.Hello().Barkundefined(type*AnimalhasnofieldormethodBark)typeAnimalstruct{namestringageint}func(animal*Animal)Hello()*Animal{fmt.Println("Iamananimal")returnanimal}typeDogstruct{*Animal}func

inheritance - golang中如何设置继承

tl;dr在此示例中,将Store设置为在多个服务之间共享的正确方法是什么:https://github.com/th0th/goblog/blob/2b2d7ac51978de41f392396309424043817a49d7/store/store.go#L29详情您好,我正在尝试通过创建一个简单的MVC-ish博客RESTAPI来理​​解go的工作原理。我计划应用程序包含3个包/层:模型保存数据结构。定义这些结构的数据库访问层的接口(interface)。商店显示实际的数据库连接。实现模型的接口(interface)。所有数据库访问都通过此实现完成。接口(interface)R