Class options enable you to restrict the lifetime of instances of a class and its subclasses. These options differ from the real and abstract class options.
Specifying that only transient instances of a class are allowed is particularly useful for package and framework development when you want to enforce that no persistent instances of specific classes will ever exist, so that reorganization issues on subsequent deployments do not arise.
You cannot define a class when all three class or subclass options are unchecked (that is, at least one of the class lifetime check boxes and one of the subclass lifetime check boxes must be checked).
If you create an abstract superclass (for which no instances can be created), you may still want to set the lifetime options described in the following subsections so that you restrict the lifetime of real subclasses.