A generic object or virtual class does not do anything by itself but defines the data and methods common to all its descendants.