Quelqu'un peut-il expliquer non ce que doit-il utiliser, mais pourquoi l'utiliser? Est-ce d'exposer la fonction?
J'ai deux classes, la première (RoomFactory); p> deuxième classe (chambre) p> Tout d'abord, je pense que cela a raison, mais j'aimerais que tout conseil autrement - performance, etc. mais je suppose que la question principale est - pourquoi utiliser le mustoverride? p> Veuillez excuser mon ignorance ici. P> p>
4 Réponses :
C'est afin que vous puissiez fournir une fonctionnalité courante dans une classe de base, mais force les classes dérivées pour mettre en œuvre des bits spécifiques de fonctionnalité elles-mêmes. P>
Dans votre situation d'usine, je suggérerais d'utiliser une interface plutôt que d'une classe abstraite, mais dans d'autres cas, cela a du sens. system.text.encoding code> est un bon exemple d'une classe abstraite, comme c'est
system.io.stream code>. p>.
Merci Tony, essentiellement, il est d'exposer la fonction (la fonctionnalité commune) dans la classe de base - en le poussant. C'est comme ça que je comprenais au moins et cela semble être le cas. Merci beaucoup. Merci pour les conseils sur la situation de l'usine. Je ne connais pas les interfaces, mais je vais partir et faire une lecture pour voir ce que je peux comprendre. Merci encore.
MUSTOVERRIDE Spécifie qu'une propriété ou une procédure n'est pas implémentée dans cette classe et doit être remplacée dans une classe dérivée avant de pouvoir être utilisée. P>
Vous utiliseriez utile code> pour une méthode qui a une implémentation par défaut dans la classe de base.
Lorsqu'il n'y a pas de mise en œuvre par défaut (sensible), utilisez Mustoverride code>. P>
Je ne suis pas expert vb.net mais sûrement fait C #. En C # L'équivalent est le mot-clé abstrait. Il devrait être utilisé dans les cas où vous souhaitez que toutes les classes découlent de votre classe d'hôtelFactory pour mettre en œuvre un comportement que vous avez défini comme abstrait. p>
Supposons dans votre exemple, si vous voulez que tous les objets de chambre créés hérités de la classe RoomFactory pour renvoyer sa taille. Vous créeriez une fonction MUSTOVERRIDE DONNE SAVOIR LA RAPPORTAIRE ET TOUT TYPE DE CHAMURE qui hérite de cela devrait implémenter cette fonction. P>
Vous pouvez faire la même chose avec des interfaces. Mais en utilisant une telle classe de Mustinherit vous permet d'ajouter un comportement par défaut dans l'hôtelFactory qui sera commun à toutes les chambres. P>
J'espère que cela aide. P>