this post was submitted on 14 Nov 2024
76 points (95.2% liked)
Programmer Humor
19555 readers
1346 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I wouldn't say that inheritance is for avoiding code duplication. It should be used to express "is a" relationship. An example seen in one of my projects: a mixin with error-handling code for a REST service client used for more than one service has log messages tightly coupled to a particular service. That's exactly because someone thought it was ok to reuse.
In my opinion, inheritance makes sense when you can follow Liskov's principle. Otherwise you should be careful.
You're not wrong but I think when you're teaching someone just having 1 parent and 1 child class makes for a bad example I generally prefer to use something with a lot of different children.
My go-to is exporters. We have the exporter interface, the generic exporter, the accounting exporter and the payroll exporter, to explain it.
At school, the only time I used inheritance was 1 parent (booking) and 1 child (luxury) this is a terrible example imo.