Re:Golang concepts from an OOP point of view
by aikah on Wednesday September 14, 2016 @04:23PM
(#12500926)
It doesn't really matter. Your suggestion is worthless in practice with Go since "your subtype" doesn't enable polymorphism. you can't pass your "subtype" to a function that expect the parent type. You can absolutely pass a sub class in place of a class in a method expecting the class in Java. See the difference ? what you suggested makes absolutely no sense in Go. That's not even subtyping, you just created another struct type with composition.
[ Parent
| on HN ]
Re:Golang concepts from an OOP point of view
by catnaroek on Wednesday September 14, 2016 @06:50PM
(#12501878)
> It doesn't really matter. Your suggestion is worthless in practice with Go since "your subtype" doesn't enable polymorphism.
I never said that struct embedding creates a subtype. I said that it can be used to emulate inheritance (subclassing). Inheritance and subtyping are very different things, and the fact languages like Java and C++ conflate them actually creates several problems. See:
[0] http://www.cs.utexas.edu/~wcook/papers/InheritanceSubtyping9...