Trying to merge two polygon classes... (OOP help)

The principle of least action does also satisfy me… Do you mean that factorizing the code common to my two classes is not worth the effort?

Concerning:

procedure :: set => set_hat_polykite

what is exactly the use? Is it useful for inheritance? (if I want to override a procedure?)