Je viens de lire un livre sur les modèles de programmation orientés objet. Il décrit un modèle d'usine par lequel vous pouvez faire un appel à une méthode d'usine statique d'un objet et l'objet retournera un nouvel objet de type attendu, mais il sera sous-classé de manière appropriée.Comment faire pour qu'un constructeur renvoie un objet sous-classé
Ma question, cette fonctionnalité peut-elle être fournie par un constructeur pour la classe? Si c'est le cas, comment? Je ne sais pas pourquoi? Imaginez que j'ai une classe appelée VillagePerson, qui a sous-classes PoliceOfficer, NativeAmerican, Cowboy, Biker, ConstructionWorker, et Sailor. Le constructeur prend une description de chaîne de caractères de la personne, l'analyse et retourne le type spécifique de personne que je veux. Est-ce seulement possible avec des méthodes d'usine statiques?
La réponse à cette question est spécifique à la langue. – rwong