Qui piu che di OOP parlerei di geometria:

Nella geometria cartesiana del piano e dello spazio euclideo un punto è un insieme ordinato di coordinate. Quindi un punto nello spazio tridimensionale è una terna di numeri, ad esempio:

P = (2, 6, 9).
Dove, riferendosi al "2D", la coordinata Z è 0 di definizione e il sistema di coordinate parte per definizione da (0,0,0). Quindi le tue classi in realtà sono una sola classe (punto) a 3 coordinate(x,y,z) a valori di default (0,0,0).