An abstract class can never be instantiated (and so can never become an object). If you create class that inherits from an abstract base class, and instantiate it, it will have properties of the abstract class as well as its own properties. The objective behind creating an abstract base class is to "enforce" deriving classes to implement certain functionality (similar to an interface, but not quite).