There is a general difference between code changes in an interface and the implementation of code changes at compile time. If you add a class or modify an existing class in an interface section, then all units that reference the changed block must be recompiled. However, a change in the implementation section (a new subclass or code change) will require recompilation of this device, and the IDE will bundle the previously compiled DCU plus a new one together to create an EXE file.
In general, the main advantage is that it allows you to develop code to hide implementation details - define the parent class in the interface and any subclasses in the implementation. Or define classes in the implementation if they are needed solely to implement the class / method behavior available in the interface section.
David gray
source share