Questions piège sur la Programmation Orientée Objet – JAVA – Partie 1

image_pdfimage_print

Les questions pouvant être posées par des recruteurs sont nombreuses. Ce sont quelques-unes des questions les plus fréquemment posées. Prenez le temps de lire ces questions et réfléchir soigneusement à la façon dont vous répondriez à chacune d’elles lorsqu’on vous le demandera.
 
 

1. A quoi sert la surcharge de méthode dans Java?
Lorsque nous avons plusieurs méthodes avec le même nom mais des fonctionnalités différentes, cela s’appelle une surcharge de méthode. Par exemple. System.out.println() est surchargé car nous avons 6 ou 7 méthode println() acceptant chacun un type de paramètre différent.

 

2. A quoi sert la redéfinition de méthode dans Java?
C’est l’un de la magie de la programmation orientée objet où la méthode est choisie en fonction d’un objet à l’exécution. Afin de redéfinir la méthode, nous avons besoin de l’héritage et du polymorphisme, car nous avons besoin d’une méthode avec la même signature dans la superclasse et la sous-classe. Un appel à une telle méthode est résolu au moment de l’exécution en fonction de l’objet réel et non du type de la variable.

 

3. A quoi sert le masquage de méthode dans Java?
Lorsque vous déclarez deux méthodes statiques avec le même nom et la même signature dans la classe mère et la sous-classe, elles se masquent l’une l’autre, un appel à la méthode dans la sous-classe appelle la méthode statique déclarée dans cette classe et un appel à la même méthode est résolu à la méthode statique déclarée dans la classe mère.

 

4. Quelle est la différence entre Composition et Héritage dans la POO?
Ceci est une autre excellente question de concept du POO car elle teste ce qui compte, les deux sont très importants du point de vue du conception de classe. Bien que la Composition et l’Héritage vous permettent de réutiliser le code. La composition permet à la classe d’obtenir une fonctionnalité supplémentaire lors de l’exécution, mais l’héritage est statique. Vous ne pouvez pas modifier la fonctionnalité lors de l’exécution en substituant une nouvelle implémentation. Voir ici plus de détails

 

Différence entre Héritage et CompositionDifférence entre Héritage et CompositionBien que l’héritage et la composition permettent la réutilisation du code, la principale différence entre la composition et l’héritage réside dans le fait que la…Lire plus
5. Quel sont les 5 principes du pattern SOLID?
SOLID est le terme donné par Oncle Bob, chaque caractère représente un principe de conception:

  • S pour le principe Single Responsibility
  • O pour le principe Open closed design
  • L pour le principe Liskov substitution
  • I pour le principe Interface segregation
  • D pour le principe Dependency inversion

 

 
 

6. Quelle est la différence entre les patterns Decorator, Proxy et Adapter en Java?

Ces patterns ressemblent beaucoup parce que leur structure ou leur diagramme de classe est très similaire, mais leur intention est très différente. Decorator ajoute des fonctionnalités supplémentaires sans toucher à la classe, Proxy fournit un contrôle d’accès et Adapter est utilisé pour faire fonctionner deux interfaces incompatibles.

 

Design pattern Decorator

Le pattern Decorator permet à un utilisateur d’ajouter de nouvelles fonctionnalités à un objet existant sans modifier sa structure. Ce type de pattern est inclus dans le pattern structurel, car il agit comme une enveloppe pour la classe existante. Ce pattern crée une classe décorateur qui enveloppe la classe d’origine et fournit des fonctionnalités supplémentaires en préservant la signature des méthodes de classe.

Diagramme UML du design pattern Decorator
source : wikimedia.org
 

Design pattern Proxy

Dans le pattern Proxy, une classe représente la fonctionnalité d’une autre classe. Ce type de pattern appartien du pattern structurel. Dans le pattern Proxy, nous créons un objet ayant un objet original pour interfacer ses fonctionnalités avec le monde extérieur.

Diagramme UML du design pattern Proxy
source : wikimedia.org
 

Design pattern Adapter

Le pattern Adapter fonctionne comme un pont entre deux interfaces incompatibles. Ce type de pattern appartien au pattern structurel car ce pattern combine la capacité de deux interfaces indépendantes. Un exemple concret pourrait être un lecteur de mémoire servant d’adaptateur entre une carte mémoire et un ordinateur portable.

Diagramme UML du design pattern Adapter
source : wikimedia.org

 

7. Quand utiliser le pattern de conception Singleton en Java?
Lorsque nous n’avons besoin que d’une instance d’une classe et que nous souhaitons qu’elle soit disponible globalement, nous pouvons utiliser ce pattern. Ce n’est pas gratuit car cela augmente le couplage entre les classes et les rend difficiles à tester.

Design pattern Singleton



source : wikimedia.org

 

Différence entre généralisation, héritage et spécialisationDifférence entre généralisation, héritage et spécialisationQuelle est la différence entre généralisation, héritage et spécialisation ? – Des termes tels que super-classe, sub-classe ou héritage apparaissent quand on pense à l’approche…Lire plus
8. Quelle est la différence entre State et Strategy Pattern?
Bien que la structure ou le diagramme de classes du pattern State et Strategy soit identique, leur intention est complètement différente. Le pattern State est utilisé pour faire quelque chose de spécifique en fonction de l’état tandis que le pattern Strategy vous permet de basculer entre les algorithmes sans changer le code qui l’utilise.

Design pattern State

Dans le pattern State, le comportement d’une classe change en fonction de son état. Ce type de pattern est associé au pattern de comportement. Dans le pattern State, nous créons des objets qui représentent différents états et un objet de contexte dont le comportement varie lorsque son objet d’état change.


source : wikimedia.org
 

Design pattern Strategy

Dans le pattern Strategy, un comportement de classe ou son algorithme peuvent être modifiés au moment de l’exécution. Ce type de pattern est associé au pattern de comportement. Dans le pattern Stratégie, nous créons des objets représentant différentes stratégies et un objet de contexte dont le comportement varie en fonction de son objet de stratégie. L’objet de stratégie modifie l’algorithme d’exécution de l’objet de contexte.


source : wikimedia.org

 

9. A quoi sert le pattern Decorator ?
Design pattern Decorator

Le pattern Decorator permet à un utilisateur d’ajouter de nouvelles fonctionnalités à un objet existant sans modifier sa structure. Ce type de pattern est inclus dans le pattern structurel, car il agit comme une enveloppe pour la classe existante. Ce pattern crée une classe décorateur qui enveloppe la classe d’origine et fournit des fonctionnalités supplémentaires en préservant la signature des méthodes de classe.

Diagramme UML du design pattern Decorator
source : wikimedia.org

 

QCM-JavaQCM Java – Types génériquesQCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
10. Quelle est la différence entre une interface et une classe abstraite?
Une classe abstraite peut avoir du code dans le corp des méthodes qui posséde, ce qui n’est pas autorisé dans une interface. Avec les classes abstraites, vous devez hériter de votre classe et Java n’autorise pas l’héritage multiple .Cependant, vous pouvez implémenter plusieurs interfaces dans votre classe.
Différence entre une interface et une classe abstraite en JavaDifférence entre une interface et une classe abstraite en JavaQuelle est la différence entre une interface et une classe abstraite? Les deux sont utilisées pour réaliser l’abstraction où nous pouvons déclarer des méthodes abstraites,…Lire plus
 
 
Partagez cet article

Une pensée sur “Questions piège sur la Programmation Orientée Objet – JAVA – Partie 1

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *