Lo cierto es que usé el nombre de la clase como constructor en lugar de __construct porque así me lo recomendó mi profesor de Java. Dice que es mejor así porque sigue los estandares.
Llevo menos de 1 mes con Java pero de hecho así es como en Java se hace el constructor.
Si, a usort le pasas el array y la "forma" en que ordena. Pero me parece muy raro que "cmp" vaya entre comillas no lo pillo. Y luego los parametros que usa cmp se supone que son 2 elementos del array a comparar no? y los devuelve en el orden adecuado.
Muchas gracias por el tutorial.
Supongo que con los mutators te refieres a los setters. Realmente es sólo una práctica así que no importa demasiado pero yo creo que si ya que los enlaces los instancio ya con todos los datos y no quiero que se modifiquen una vez creados.