1.
package main
import "fmt"
//creating class
type PersonClass struct {
name string
age string
color string
}
//person one have class properties and function
type Person1 interface {
Walking() string
Runnig() string
}
//person two have class properties and Person1 function and extra function
type Person2 interface {
Person1
Sleping() string
Dringking() string
}
//
//person tree have class properties and Person1 function and Person2 ,extra function
type Person3 interface {
Person2
Learing() string
}
func (p PersonClass) Walking() string {
return "walking :" + p.name
}
func (p PersonClass) Runnig() string {
return "runnig :" + p.name
}
func (p PersonClass) Sleping() string {
return "Im sleping :" + p.name
}
func (p PersonClass) Dringking() string {
return "Im drinking :" + p.name
}
func (p PersonClass) Learing() string {
return "Learing :" + p.name
}
func main() {
w := []Person1{
PersonClass{"mr.Boom", "24", "Oraange"},
}
x := []Person2{
PersonClass{"mr.Hello", "22", "brown"},
}
p := []Person3{
PersonClass{"mr.kk", "21", "red"},
}
fmt.Println("Person 1")
for _, v := range w {
fmt.Println(v.Runnig(), v.Walking())
}
fmt.Println("Person 2")
for _, v := range x {
fmt.Println(v.Dringking(), v.Runnig(), v.Sleping(), v.Walking())
}
fmt.Println("Person 3")
for _, v := range p {
fmt.Println(v.Walking(), v.Runnig(), v.Dringking(), v.Sleping(), v.Learing())
}
}
Top comments (3)
ok, I can advice you to use a spellchecker, because I think you're not a native English speaker. (and it distracts a lot from what you are showing)
Btw: I would tell a bit of a story about what you are showing.
now on words I will Chek and I will post
yes I write code only I didn't Chek spelling