里氏代换原则(LSP)
Golang Demo
package liskovsubstitution
type QuardRangle interface {
Width() int
Length() int
}package liskovsubstitution
type Rectangle struct {
length int
width int
}
func (r *Rectangle) SetWidth(width int) {
r.width = width
}
func (r Rectangle) SetLength(length int) {
r.length = length
}
func (r Rectangle) Width() int {
return r.width
}
func (r Rectangle) Length() int {
return r.length
}Java Demo
补充另一个版本的Java/Scala Demo 以及源码解析
Java Demo_
Scala Demo
UML_
源码解析
Last updated