 <p>Abstract classes are used to provide common functionality to child classes and force child to have own implementation of abstract members. it cannot be initialized, so individually it is not an object, but takes part in behaviour of child class</p> <pre><code> public abstract void Import(Oasis OasisSource); </code></pre> <p>If you want all children of this abstract class to implement there own <code>Import</code> functionality, otherwise implement the functionality in the base abstract class, mark it as virtual so the children can override if necessary.</p>