Qu'est-ce que le polymorphisme en programmation orientée objet ?
Le polymorphisme découple le quoi du comment via une interface en super-classe et plusieurs implémentations en sous-classes.
Quel est l'effet de l'upcasting sur le type précis d'un objet ?
L'upcasting fait oublier intentionnellement le type précis d'un objet.
Que permet de faire l'upcasting avec les sous-classes d'une super-classe ?
L'upcasting permet de traiter sans distinction les sous-classes d'une même super-classe.
Dans quel ordre sont appelés les constructeurs lors de la construction d'un objet ?
Le constructeur de la super-classe est appelé récursivement jusqu'à la racine, puis ceux des membres dans l'ordre de déclaration.
Que se passe-t-il après l'appel des constructeurs des membres lors de la construction d'un objet ?
Le corps du constructeur de la classe est exécuté après les constructeurs des membres.
Qu'est-ce qu'une classe abstraite en programmation ?
Une classe qui ne peut pas être instanciée mais peut contenir des constructeurs.
Que permet de factoriser une classe abstraite ?
Les propriétés communes entre classes.
Quelle condition impose une méthode abstraite à sa classe ?
La classe doit être déclarée abstract.
Que doit faire une sous-classe d'une classe avec méthodes abstraites ?
Implémenter les méthodes abstraites ou être déclarée abstract.
Quelle est la forme syntaxique d'une méthode abstraite ?
public abstract type nomméméthode(…); sans corps de méthode.
Qu'est-ce qu'une interface en programmation orientée objet ?
Une interface définit un contrat de services par des signatures de méthodes sans implémentation.
Que fait le mot-clé implements dans une classe Java ?
Il rend la classe conforme à une ou plusieurs interfaces et oblige à implémenter toutes leurs méthodes publiques.
Quelles sont les propriétés implicites des méthodes dans une interface ?
Les méthodes sont implicitement abstract et public.
Quelles sont les propriétés implicites des données dans une interface ?
Les données sont implicitement static et final.
Quelle forme d'héritage les interfaces permettent-elles ?
Elles permettent une forme d'héritage multiple.
Comment les interfaces influencent-elles le couplage entre classes ?
Elles diminuent le couplage en limitant la collaboration aux services nécessaires.
Quand une généralisation est-elle incorrecte selon les critères de classification ?
Quand des sous-classes de même niveau reposent sur des critères hétérogènes.
Quelle erreur montre l'exemple Salarié, Libéral et Sportif ?
Une généralisation incorrecte due à des critères de classification différents.
Qu'est-ce qu'une confusion de niveau d'abstraction ?
Une relation entre concepts à niveaux conceptuels différents.
Quels concepts illustrent une confusion de niveau d'abstraction ?
Modèle de voiture, Voiture et Propriétaire.
Que fournit l’API Collections ?
Des interfaces, des implémentations optimisées et des utilitaires pour les collections.
Quels types d’éléments l’API Collections décrit-elle ?
Les conteneurs via des interfaces.
Quels utilitaires principaux comprend l’API Collections ?
Les interfaces Comparator et Iterator, et les classes Collections et Arrays.
Qu'est-ce que l'interface Collection abstrait ?
Le comportement d'un conteneur d'objets.
Qu'imposent les méthodes de Collection qui comparent des objets comme contains() ?
Elles testent l'égalité définie par equals().
Qu'est-ce qu'une List en Java ?
Une collection ordonnée qui accepte les doublons.
Quelles opérations spécifiques possède une List ?
get par index, indexOf et remove par index.
Quelles sont les principales implémentations de List ?
ArrayList et LinkedList.
Qu'est-ce qu'une Map en Java ?
Une Map associe des clés uniques à des valeurs.
Une Map est-elle une sous-interface de Collection ?
Non, une Map n'est pas une sous-interface de Collection.
Qu'impose l'utilisation d'objets comme clés dans une Map ?
Ils doivent redéfinir Object.hashCode().
Quelle méthode est utilisée pour comparer les clés dans une Map ?
La méthode equals() est utilisée pour comparer les clés.
Comment HashMap implémente-t-elle Map ?
Avec une table de hachage non ordonnée et non synchronisée.
Comment TreeMap implémente-t-elle Map ?
Avec un arbre binaire équilibré ordonné et non synchronisé.
Quelle est la caractéristique principale de Hashtable ?
C'est une implémentation synchronisée de Map.
De quelle version de Java provient la classe Hashtable ?
Elle provient de Java 1.1.
Comment ArrayList implémente-t-elle List ?
Avec un tableau.
Pourquoi ArrayList est-elle ralentie par les insertions au milieu ?
Parce que cela nécessite de décaler les éléments du tableau.
Comment LinkedList implémente-t-elle List ?
Avec une liste doublement chaînée dynamique.
Pour quelles structures utilise-t-on Collections.sort(List) et Collections.sort(List, Comparator) ?
Pour trier une List.
Quelles classes sont utilisées pour un Map trié ?
SortedMap et TreeMap.
Quelle méthode impose Comparable pour définir un ordre naturel ?
compareTo(Object o).
Quelle méthode Comparator utilise-t-il pour comparer deux objets ?
compare(Object o1, Object o2).
Que doivent retourner compareTo et compare selon la règle ?
Un entier négatif, zéro ou positif selon l'ordre des objets.
Teste tes connaissances avec un QCM de 20 questions sur POO Java : polymorphisme et collections.
1. Quel principe permet de séparer l’interface commune d’un objet de la manière concrète dont chaque sous-classe réalise cette interface ?
2. Lorsqu’une référence de super-classe désigne un objet d’une sous-classe, quelle opération permet de traiter cet objet sans tenir compte de son type précis ?
Révisez le cours complet dans la fiche de révision de POO Java : polymorphisme et collections.
Voir la fiche →Importe ton cours et l'IA génère des flashcards en 30 secondes.
Générateur de flashcards