// 嵌套类型,也就是继承
package main
import "fmt"
// 内部类型
type user struct {
name string
age int
}
// 外部类型
type admin struct {
user
email string
}
//定义内部类型方法
func (u user) inner(){
fmt.Println("user method")
}
func (a admin) inner(){
fmt.Println("admin method")
}
func main() {
ad := admin{user{name: "lihua", age: 25}, "scusong@foxmail.com"}
fmt.Println(ad.user.name)
fmt.Println(ad.age)
fmt.Println(ad.email) //只能直接调用
// 覆盖方法调用
ad.user.inner() //user method
ad.inner() //admin method
}
/*
对于内部类型的属性和方法访问上,我们可以用外部类型直接访问,也可以通过内部类型进行访问;
但是我们为外部类型新增的方法属性字段,只能使用外部类型访问,因为内部类型没有这些。
外部和内部方法同名时,内部方法会被覆盖
*/
嵌套类型
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 本章将会介绍 定义一个类层次作为例子检查类型向下转型Any 和 AnyObject 的类型转换嵌套类型实践引用嵌套...
- 1. 错误处理 错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行...
- 1.封装 通常把隐藏属性、方法与方法实现细节的过程称为封装 隐藏属性和方法 使用访问控制修饰符将类和其属性方法封装...
- 要在一个类型中嵌套另一个类型,将嵌套类型的定义写在其外部类型的{}内,而且可以根据需要定义多级嵌套。 在外部引用嵌...