From fc144fc4038fd2d507d50f5eea8d127d31900a92 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Sat, 25 Jul 2015 14:28:28 -0400 Subject: [PATCH] Goofing around with pseudo-inheritance variations --- c&s20150725/inheritance.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/c&s20150725/inheritance.go b/c&s20150725/inheritance.go index 8a3bb62..c164b0e 100644 --- a/c&s20150725/inheritance.go +++ b/c&s20150725/inheritance.go @@ -17,15 +17,13 @@ func (p *Pet) Run() string { } type Dog struct { - Pet + *Pet currentChaseTarget *Pet } func NewDog(name string) *Dog { - dog := &Dog{} - dog.Name = name - return dog + return &Dog{Pet: NewPet(name)} } func (d *Dog) Chase(target *Pet) string { @@ -47,6 +45,12 @@ func main() { dog := NewDog("Fido") + fmt.Printf("%#v\n", dog) + + dog.Run() + + fmt.Printf("%#v\n", dog) + fmt.Printf("%#v\n", dog) fmt.Printf("%#v\n", dog.Chase(cat))