The way I was taught was that you usually start off with only an interface and then implementing classes, and then once you have multiple similar implementations it could then make sense to move the common logic into an abstract class that doesn't get exposed outside of the package
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
replies:
