Je n'ai commencé que très récemment à me développer professionnellement. J'ai étudié la POO à l'université, mais je n'ai pas l'impression de l'avoir vraiment utilisé dans un scénario «réel». Fondamentalement, en essayant de créer/manipuler un type spécifique de document au sein de l'organisation, j'ai créé une classe pour cela, en pensant que chaque fois que nous voulions créer/manipuler ce type spécifique de document, nous pouvions simplement créer un instance de lui et lui donner certaines informations et le faire prendre soin de lui-même. Je sais que nous prévoyons de travailler avec d'autres types de documents (je devrais noter, quand je dis types de documents, je veux dire quelque chose comme "rapport de dépenses" ou "liste d'inventaire", comme dans I je me suis référé au contenu.) J'ai supposé que tous ces types de documents partageraient certains types de fonctionnalités (par exemple, travailler avec des chaînes partagées ou des noms définis dans Excel), donc j'ai créé une classe Document abstraite, et pensé chaque type du document que nous voulions créer pourrait étendre cette classe. Bien sûr, je ne travaille que sur un type de document, alors même si j'ai une idée des méthodes qui peuvent être communes à tous les documents, je n'ai pour l'instant qu'une seule classe abstraite et une seule l'étend, donc il semble sorte de superfétatoire.Devrais-je utiliser une classe de base abstraite à cette fin pour le moment?
Je suppose que mes questions sont:
1) Devrais-je même utiliser une classe abstraite ici. Est-ce que cela ressemble à l'utilisation appropriée d'un ou ai-je complètement manqué le point?
2) Si je devais en utiliser un, ne devrais-je pas l'utiliser si tôt? Je veux dire, devrais-je attendre d'avoir plusieurs documents devant moi pour que je puisse déterminer quel type de fonctionnalité est partagé entre tous plutôt que de supposer que je sais pour l'instant même si je n'ai qu'une seule classe pour l'implémenter?
Merci.
Je vais répondre ici à la fois pour m'avoir aidé à confirmer que le résumé est, théoriquement, la bonne façon de procéder (si j'aurai plus de classes dérivées), mais aussi pour mettre l'accent sur la bonne pratique de codage (YAGNI). J'apprécie également le commentaire de Jlafay sur la réponse d'Adeel selon laquelle écrire une classe de base tôt serait bénéfique, et pour être honnête, je suis presque certain qu'il y aura plus de classes dérivées. Cependant, même si je suis un nouveau développeur, je devrais savoir que dans le monde de l'entreprise, même si je suis «certain», il y aura besoin de plus, cela ne signifie pas nécessairement que ça finira comme ça. –