1 of 3


Interfaces are like skeletons. If you want to build a human, you should use that skeleton.

Interfaces simply create a kind of structure for your classes to denote that your class should have a defined and agree-upon structure. For example, all animals pee, eat and make sounds. Thus you can have an interface, called IAnimal which only mentions that classes should Pee, Eat, and MakeSound.

Interfaces are just like simple checklists, which should either be implemented totally, or none. When you want to use IAnimal interface, it's just like your boss telling you "Hey, don't create a Cat class unless you write some methods for it to eat, pee, and make sound".

Abstract classes are like skeletons, but with some meet on them too. It's just there to make your work easier.

You can consider an abstract class to be an interface, which already has some implementation.

That was the plain English answer. But after getting that, please study more, to get the real concept.