|
|
|
|
|
by fenomas
694 days ago
|
|
I'm not a big thinker on such things, but my general rule is that subtyping is okay only for implementation details. I.e. it's okay for ConsoleLogger to be a subtype of Logger, but PaidUser probably shouldn't be a subtype of User. |
|
ConsoleLogger is a Logger because they share a method (log), PaidUser and User can have some common things, but I don't think it's only in the way it behaves, but also in the way you contact/use them