My take: An interface is a contract, a class is a concrete representation of something, and an abstract class is a unecessary and limiting combination of the twoβAn additional language construct with a very specific use that can be accomplished naturally other ways.
Abstract classes are the bane of my existence in an inversion-of-control and TDD world.
My take: An interface is a contract, a class is a concrete representation of something, and an abstract class is a unecessary and limiting combination of the twoβAn additional language construct with a very specific use that can be accomplished naturally other ways.
Abstract classes are the bane of my existence in an inversion-of-control and TDD world.
π "How do you choose between an interface and an abstract class?" You use an interface.