This might be realized by a modified compiler, which must recognize the class as a virtual class. The virtual class might then be replced by a reference to an adaptor class.
Another approach could be the exchange of the virtual class during runtime by generating adaptors in byte code. Nevertheless there would still be the problem that the compiler needs a code base for the virtual class in order to be able to translate the source code.
Figure shows the migration of the mobile agent with the virtual classes and the replacement of implementation classes on the hosts. The proposal of virtual classes would offer a very high level of transparency, but the problem is the compilation of an application that references classes which can not be found by the compiler or the linker.