在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

go语言实现多态的方法是什么

178次阅读
没有评论

共计 920 个字符,预计需要花费 3 分钟才能阅读完成。

在 Go 语言中,可以使用接口来实现多态。多态是指同一个接口可以被不同的类型实现,从而可以根据实际的类型调用不同的方法。

要实现多态,首先需要定义一个接口。接口定义了一组方法的集合,任何实现了这些方法的类型都可以被认为是这个接口的实现。

接口的定义如下:

type Shape interface {Area() float64
    Perimeter() float64
}

接下来,可以定义不同的类型来实现这个接口。比如,可以定义一个矩形类型和一个圆形类型:

type Rectangle struct {width  float64
    height float64
}

func (r Rectangle) Area() float64 {return r.width * r.height
}

func (r Rectangle) Perimeter() float64 {return 2 * (r.width + r.height)
}

type Circle struct {radius float64
}

func (c Circle) Area() float64 {return math.Pi * c.radius * c.radius
}

func (c Circle) Perimeter() float64 {return 2 * math.Pi * c.radius
}

这样,Rectangle 和 Circle 就都实现了 Shape 接口的两个方法,它们分别是 Area 和 Perimeter。

接下来,可以使用这些实现了 Shape 接口的类型来进行多态的调用。比如,可以定义一个函数来计算形状的面积:

func PrintArea(s Shape) {fmt.Println("Area:", s.Area())
}

然后,可以分别传入 Rectangle 和 Circle 类型的实例来调用这个函数:

r := Rectangle{width: 5, height: 3}
c := Circle{radius: 2}

PrintArea(r) // 输出: Area: 15
PrintArea(c) // 输出: Area: 12.566370614359172

在调用 PrintArea 函数时,传入的参数可以是任何实现了 Shape 接口的类型,这就是多态的表现。根据实际的类型,调用对应类型的方法。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计920字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 丰满人妻一区二区三区视频53 | 动漫黄在线观看 | 国产精品jizz视频 | 欧美做受又硬又粗又大视频 | 久久久久亚洲av无码专 | 成人免费看aa片 | 秋霞免费手机理论视频在线观看 | 四虎4hu永久在线观看 | 亚洲精品无码久久不卡 | 人妻熟女αⅴ一区二区三区 | 中国精学生妹品射精久久 | 国产在线国偷精品产拍 | 在线视频中文字幕 | 三级做爰蜜桃成熟时在线观看 | 国产精品久久久久久吹潮 | 国产成人在线综合 | 久久精品国产亚洲a不卡 | 日本三级视频在线播放 | 精品国产乱码久久久久久乱码 | 日本熟妇人妻xxxxx-欢迎您 | 亚洲熟女少妇一区二区 | 中国一级毛片免费观看 | 久久99热久久精品99 | 丰满的人妻hd高清日本 | 日本最新免费二区三区 | 高潮毛片无遮挡高清免费视频 | 开心午夜婷婷色婷在线 | 国产在线观看免费视频软件 | 一级毛片免费全部播放完整 | 性生交大片免费看淑女出招 | 亚洲av无码乱码国产一区二区 | 五月久久| 动漫精品一区二区三区四区 | 国产我不卡| 日本不卡一区二区三区在线观看 | 国产精品自拍在线 | 国产成人啪精品午夜在线观看 | 国产精品自拍在线 | 一本色道久久88亚洲精品综合 | a一区二区三区视频 | 亚洲国产一区视频 |