Ho bisogno di una classe in cui ciò può essere fatto:
// user program
elder_tales.Player p = elder_tales.generate_player();
elder_tales.level_up_player( p );
ma non:
// user program
elder_tales.Player p = new ...whatever
p.set_stats();
p.set_server();
p.calculate_experience()
elder_tales.level_up_player( p )
Fondamentalmente, voglio che il pacchetto esegua l'istanziazione mentre non consente all'utente di eseguire la propria istanziazione; Poiché le istanze di tipo Player sono costruite in modo complesso, ho deciso di non mettere troppo a dura prova l'utente per crearle con un costruttore pubblico.