@Override
	public boolean equals(Object obj) {
		//Se garantiza que no se hagan comparaciones nulas
		if(obj == null){
			return false;
		}
		//Se garantiza la relacion reflexiva
		if(this == obj){
			 return true;
		}
		//Se garantiza que los dos objetos si sean de la misma clase
		//el instance of solo garantiza que pertenezcan a la misma familia
		if(this.getClass() != obj.getClass()){
			return false;
		}
		
		//Si lo anterior no se cumple se puede pasar a comparar las entidades
		//que contienen el id, atributo diferenciador entre entidades
		return this.getId() == this.getClass().cast(obj).getId();
	}