title: To use subclasses only for semmantical purposes?
body: <p>I have seen sometimes the use of subclasses only for semantical purposes, and I was wondering about pros and cons of doing it, and if it should be consdierated a good practice or not. </p>
  
  <p>For example:</p>
  
  <h3>With semantical subclasses</h3>
  
  <p>List of classes:</p>
  
  <p>-<code>abstract class V3</code> (it is a vector with attributes x, y and z, and some manipulation methods)</p>
  
  <p>-<code>class Lengths extends V3</code> (it just extends V3 and do not add new methods or attributes)</p>
  
  <p>-<code>class Point extends V3</code> (just extends V3)</p>
  
  <p>This way, some methods, like <code>void setCuboidLengths(Lenghts l)</code> will accept only Lengths classes as argument, and others, like <code>Point getCuboidCenter()</code> will return a Point object.</p>
  
  <h3>Without semantical subclases.</h3>
  
  <p>Only one class:</p>
  
  <p>-<code>class V3</code></p>
  
  <p>Instead of using more specific classes, we use the generic V3: <code>void setCuboidLenghts(V3 v)</code>, <code>V3 getCuboidCenter()</code>.</p>