I was wonder is it best practice to override methods that a super class has already has defined in enterprise applications. And how about if or should Husky implements Dog(Interface) with setName and getName?
Here, Husky still behaves the same as Dog and it inherits getName and setName already, so there's no need to override those methods. That's redundant, the exact opposite of what polymorphism promotes. There's no need to implement those methods.