什么是多态

一开始我也不是很理解,那么我用我学了三天的JAVA基础来理解

首先多态只存在于 Has OneHas Many

把多态用类的思想去理解,把一整个结构体当作一个类

而某个类的属性,比如说纸飞机类,有很多人的纸飞机类

由此就会产生多态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
type A struct {
ID uint
Name string
C C `gorm:"polymorphic:Owner;"`
}

type B struct {
ID uint
Name string
C C `gorm:"polymorphic:Owner;"`
}

type C struct {
ID uint
Name string
OwnerType string
OwnerID uint
}

GORM 入门笔记(九)多态的概念与使用 | NX の 博客 (nickxu.me)

算了描述不清楚………..

到时候用到了再说吧,现在感觉Has Many够用了

自引用

其实是为了水文章,再补个知识点

1
2
3
4
5
6
7
8
9
type employee struct {
Id int
Lid int
Name string
Employees []employee `gorm:"foreignkey:Lid;association_foreignkey:Id"`
}
func (employee) TableName() string {
return "employee"
}

员工也是其他人的老板

一般这个结构要与递归相结合,之前老板的项目里写过类似的