Overloading Abstract Class with methods


I have an abstract class that gets extended currently by 8 other classes. I have a lot of methods inside my abstract class to are not generic to every class that extends it. I was adding methods to the abstract class if I needed that functionality in more than one of the other classes.

What is the best way to handle this? Traits? Or is this just some dirty little thing that most people do but look the other way… or maybe a little bit of both :stuck_out_tongue_winking_eye:


Many people dislike traits, I’m not one of them and like using them. :grinning:


Personally, I don’t like traits for many reasons and try to avoid it like magic methods etc.

An alternative would be: “Composition over inheritance”