What is an abstract class?
a class that can be used only as base class Official documentation: Abstract and Sealed Classes and Class Members
a class that is denoted by the class keyword (can be seen and used by any other class in the system--thus it is by default public)
something denoted by the abstract keyword and used system wide; if you want any program to create an object of a class you use the abstract class
a class that is denoted by the virtual keyword