What is the difference between an interface and an abstract class?
Utilisateur anonyme
An abstract class can have abstract functions and those functions can have code in them. An interface is only method headers and no implementation. An abstract class cannot be an object because it is supposed to be general. If we were making an FPS game we could first have an abstract class called Gun and then have classes for AK-47 and RPG that would have their own specific implementations but would be a child of Gun. In this case we cannot make a "Gun" object because it is abstract and doesn't make sense to do so, you can however make an AK-47 object.