This is redeclaring the properties of the base class.  Also, everything is private, so nothing is shared between these classes.  If the base class says this.name = "blah" and the subclass queries this.name, you won't see "blah" in the subclass.

What you want to do is mark the base class properties as "protected" and drop these duplicates from the subclass.