Basically, I can envision coding up e.g.
Thing1 and
Thing2 as two completely separate and distinct pieces of code having nothing more in common than a
#include <slice2pp_generated_header> at the top. But that would go against most things I was taught about how to "do inheritance," in that I
should have put all the "behaviors/state that the two have in common" into a
single implementation (of
PersistentObject) from which two no-longer-so-separate-and-distinct implementations of
Thing1 and
Thing2 now simply
inherit, precisely as do their interface definitions in Slice. By my lights, as I mentioned, it seems
inevitable that interface inheritance simply
must call for implementation inheritance, as a logical consequence of "good programming habits."