Questions marquées «inheritance»

L'héritage est un moyen de réutiliser le code des objets existants, ou d'établir un sous-type à partir d'un objet existant, ou les deux, selon la prise en charge du langage de programmation.




5
Dois-je préférer la composition ou l'héritage dans ce scénario?
Considérez une interface: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Cette interface est implémentée par un certain nombre de classes qui génèrent des vagues de formes différentes (par exemple, SineWaveGeneratoret SquareWaveGenerator). Je veux implémenter une classe qui génère un SoundWavebasé sur des données musicales, pas des données sonores …




5
Est-il jamais acceptable de violer le LSP?
Je poursuis sur cette question , mais je passe mon attention du code à un principe. D'après ma compréhension du principe de substitution de Liskov (LSP), quelles que soient les méthodes de ma classe de base, elles doivent être implémentées dans ma sous-classe, et selon cette page, si vous remplacez …

1
Y a-t-il une situation où il serait préférable d'utiliser des références faibles au lieu d'une simple composition?
Bien que les documents Java spécifient que les références faibles sont principalement destinées à canoniser les mappages, vous trouverez beaucoup , beaucoup , beaucoup de gens sur Internet déclarant que le WeakHashMap est parfait pour stocker des métadonnées d'objet pendant sa durée de vie. Cependant, personne ne se soucie de …


3
Héritage: le code de la superclasse est-il virtuellement * copié * dans la sous-classe, ou est-il * référencé par la sous-classe *?
La classe Subest une sous-classe de classe Sup. Qu'est-ce que cela signifie pratiquement? Ou en d'autres termes, quelle est la signification pratique de "l'héritage"? Option 1: le code de Sup est virtuellement copié dans Sub. (comme dans «copier-coller», mais sans le code copié visible visuellement dans la sous-classe). Exemple: methodA()est …

12
Est-ce que «si une méthode est réutilisée sans modifications, mettez la méthode dans une classe de base, sinon créez une interface» est-ce une bonne règle générale?
Un de mes collègues est venu avec une règle de base pour choisir entre créer une classe de base ou une interface. Il dit: Imaginez chaque nouvelle méthode que vous vous apprêtez à mettre en œuvre. Pour chacun d'eux, considérez ceci: cette méthode sera-t-elle implémentée par plus d'une classe exactement …




En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.