On Sun, Jun 17, 2012 at 12:33 PM, John May <john.wilkinsonmay@gmail.com> wrote:

A big question I had was what would be the function of get2DCentre() on

Indeed - in my mind, Ralphs suggestions that it would fall back to getPoint2D() would be a bit misleading

Besides that it is possible to do the following with little impact to
the concrete classes (gave my own name the interface). 

public interface ICartesianChemObject extends IChemObject {

    public Point2D getPoint2D();

    public Point2D getCentre2D();

    public Point3D getPoint3D();

I'd definitely support the use of interfaces to aggregate functionality
Rajarshi Guha | http://blog.rguha.net
NIH Center for Advancing Translational Science