Vous êtes sur la page 1sur 14

Questions piège sur la Programmation

Orientée Objet – JAVA – Partie 1

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?

Réponse

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?

Réponse

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?

Réponse

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?

Réponse

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 CompositionBien que l’héritage et la composition
permettent la réutilisation du code, la principale différence entre
Composition et Héritage réside dans le fait que Composition permet…Lire plus

5. Quel sont les 5 principes du pattern SOLID?

Réponse

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?

Réponse

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.

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.
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.

source : wikimedia.org
7. Quand utiliser le pattern de conception Singleton en Java?

Réponse

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é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?

Réponse

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 ?

Réponse

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.
source : wikimedia.org
QCM 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?

Réponse

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 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

Articles recommandés :

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


Questions piège sur la Programmation Orientée Objet – JAVA – Partie 2
Questions piège sur la Programmation Orientée Objet – JAVA – Partie 1
Top 10 des questions sur JAVA les plus difficiles en entretien avec les
réponses
10 Questions piège sur JAVA posées en entretien d’embauche
Testez vos connaissances – QCM Java corrigé – Partie 10
Testez vos connaissances – QCM Java corrigé – Partie 9
Testez vos connaissances – QCM Java corrigé – Partie 8
Testez vos connaissances – QCM Java corrigé – Partie 7
Testez vos connaissances – QCM Java corrigé – Partie 6
Testez vos connaissances – QCM Java corrigé – Partie 5
Testez vos connaissances – QCM Java corrigé – Partie 4
Testez vos connaissances – QCM Java corrigé – Partie 3
Testez vos connaissances – QCM Java corrigé – Partie 2
Testez vos connaissances – QCM Java corrigé – Partie 1
QCM sur Java EE – Testez vos connaissances – Corrigé
QCM J2EE – Gestion de session et sécurité des applications Web
QCM – Test de recrutement – Développeur JAVA / J2EE
QCM sur les servlets – Questions et réponses
QCM JSP – Questions d’entretiens
QCM java J2EE corrigé
QCM Java – Conversions de types et castings
QCM Java – Structures de données – tableaux (Arrays)
QCM Java – Classes et objets
QCM Java – JDK JRE JVM et JIT
QCM Java – Programmation Orientée Objet
QCM Java – Les tableaux(Arrays)
QCM Java – L’utilisation des dates
QCM Java – Les énumérations
QCM Java – Type de données – Les booléens et les chaîne de caractères
QCM Java – Types de donnée primitifs
QCM Java – Types génériques

Articles recommandés :

Différence entre une interface et une classe abstraite en Java


Différence entre JSP et PHP
Différence entre Spring et Hibernate
Différence entre Spring et Spring boot
Différence entre Spring et Struts
Différence entre JSP et Servlet
Différence entre JSP et ASP
Différence entre WebLogic et WebSphere
Différence entre java et .NET
Différence entre la méthode Start et Run dans les threads en Java
Différence entre size et length en Java
Différence entre JSF et JSP
Différence entre float et double
Différence entre equals() et == en Java
Différence entre JPA et Hibernate
Différence entre Swift et Java
Différence entre java et C#
Différence entre java et C++
Différence entre java et javascript
Différence entre Python et Java
Trier un HashMap par clé et par valeur en java
Java – Convertir Hashmap en List
Différence entre l’interface Comparable et Comparator
Comment redéfinir les méthodes equals() et hashCode() en Java
Les exceptions personnalisées en Java
Le mot clé static en Java
Le mot clé final en Java
Comment télécharger un fichier à partir d’une URL en Java ?
Comment lire le contenu d’un fichier PDF en Java
Afficher un triangle d’étoiles en Java
Vérifier si un nombre est un palindrome en Java
Comment découper une chaîne de caractères en java
Comment lire un fichier en Java avec BufferedReader
Comment inverser une chaîne de caractère en Java en utilisant la
récursivité
Nombre de Armstrong en Java
L’algorithme de Fibonacci en Java
Convertir un string en char java
Convertir un char en string java
Afficher les nombres premiers compris entre 1 et 100 en java
Verifier si un nombre est premier en java
Multithreading en Java
Différence entre SDK et JDK
Différence entre JDK, JRE et JVM
Différences entre Java et J2EE
Différence entre Java et Scala
Tri à bulle en java
Tri par insertion en java
Tri par sélection en java
Comment générer facilement des nombres aléatoires en Java?
Les classes et les objets en java
Eclipse : les raccourcis clavier pour programmer rapidement
Qu’est-ce que l’abstraction de données dans la POO?
Calculer le nombre de jours entre deux dates – Java
Différence entre une méthode statique et non statique
Différence entre HashMap et HashTable
Différence entre Iterator et ListIterator en java
Différence entre StringBuilder et StringBuffer
Différence entre HashSet et TreeSet
Différence entre HashSet et HashMap
Différence entre List, Set et Map en java
Différence entre ArrayList et HashMap en Java
Différence entre Arraylist et Hashset
Différence entre Arraylist et List
Différence entre Arraylist et Linkedlist
Différence entre Tableau et Arraylist
Différence entre l’interface Runnable et la classe Thread en java
Différence entre Sleep et Wait
Différence entre Throw et Throws
Différence entre Exception et Error en java
Différence entre char[] et String
Différence entre Thread et Processus en Java
Différence entre String et Stringbuffer en Java
Différence entre la boucle For et While
Différence entre Surcharge et Redéfinition en Java
Différence entre la boucle while et do while
Programmation en Java – Les structures conditionnelles
Programmation en Java – L’instruction Continue
Programmation en Java – L’instruction Break
Programmation en Java – Les boucles
Programmation en Java – Les opérateurs
Programmation en Java – Les modificateurs de type
Programmation en Java – Types de variables
Programmation en Java – Les types de base
Programmation en Java – Le pattern Singleton
Programmation en Java – Objet et Classes
Programmation en Java – Syntaxe de base
Programmation en Java – Configuration de l’environnement de
développement
Programmation en Java – Introduction

QCMs qui pourraient vous intéresser :

Questions techniques sur MYSQL


QCM MySQL Corrigé – Optimisation de requêtes
QCM Base de données avec correction
QCM sur PHP
QCM Symfony
QCM Java – Programmation Orientée Objet
QCM Python
QCM Framework Spring
QCM Javascript
QCM jQuery
QCM Oracle
QCM sur GIT – Gestionnaire de version
QCM Linux – Gestion de processus
QCM Réseau
QCM Architecture des ordinateurs
QCM Securité informatique
QCM En Informatique Générale
QCM en programmation C
QCM en C#
QCM sur l'algorithmique