内容简介:实现思路:直接上代码:
实现思路:
父类方法接收子类对象,通过 反射
调用子类方法
直接上代码:
package main
import (
"fmt"
"reflect"
)
type A struct {
}
func (self A) say() {
println(self.Name())
}
func (self A) sayReal(child interface{}) {
ref := reflect.ValueOf(child)
method := ref.MethodByName("Name")
if (method.IsValid()) {
r := method.Call(make([]reflect.Value, 0))
fmt.Println(r[0].String())
} else {
// 错误处理
}
}
func (self A) Name() string {
return "I'm A"
}
type B struct {
A
}
func (self B) Name() string {
return "I'm B"
}
type C struct {
A
}
func main() {
b := B{}
b.say() //I'm A
b.sayReal(b) //I'm B
c := C{}
c.say() //I'm A
b.sayReal(b) //I'm A
}
以上所述就是小编给大家介绍的《golang 父类调用子类方法、继承多态的实现方式》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 从python中的父类文件调用子类方法
- python – 如何子类化大pandasDataFrame?
- 父类返回子类类型的函数写法
- ios – 在哪里为子类的uitableviewcell创建自动布局约束?
- C#中子类对基类方法的继承、重写和隐藏
- 如何用 SQL 中的循环查询无限级分类的所有子类
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构 Python语言描述
[美] Kenneth A. Lambert 兰伯特 / 李军 / 人民邮电出版社 / 2017-12-1 / CNY 69.00
在计算机科学中,数据结构是一门进阶性课程,概念抽象,难度较大。Python语言的语法简单,交互性强。用Python来讲解数据结构等主题,比C语言等实现起来更为容易,更为清晰。 《数据结构 Python语言描述》第1章简单介绍了Python语言的基础知识和特性。第2章到第4章对抽象数据类型、数据结构、复杂度分析、数组和线性链表结构进行了详细介绍,第5章和第6章重点介绍了面向对象设计的相关知识、......一起来看看 《数据结构 Python语言描述》 这本书的介绍吧!