★ À maîtriser
Compléments
📌 L’annotation @Override signale qu’une méthode fournit une nouvelle implémentation d’une méthode héritée.
Référence générale → objet réel → méthode redéfinie
📌 Une classe qui contient au moins une méthode abstraite doit être déclarée abstraite.
📌 Une classe qui hérite d’une classe abstraite doit implémenter toutes ses méthodes abstraites ou être elle-même déclarée abstraite.
Classe abstraite = base commune, objet concret = sous-classe
📌 Dans le modèle du cours, les méthodes d’une interface sont implicitement public abstract et ses données sont implicitement static et final.
📌 Une classe implémente une interface avec le mot-clé implements et une classe concrète doit fournir les implémentations publiques de ses méthodes.
extends hérite d’une classe, implements respecte une interface
★ À maîtriser
📌 L’opérateur instanceof vérifie qu’un objet peut réellement être considéré comme une classe donnée avant d’effectuer un downcasting.
Compléments
📌 L’héritage est pertinent lorsque la relation conceptuelle « A est un B » est vraie, comme dans « Un chien est un animal ».
Upcasting → instanceof → downcasting
Les méthodes principales de Collection sont:
Les opérations essentielles d’une List comprennent:
List = ordre et doublons ; Map = clé et valeur
📌 ArrayList offre un accès par indice efficace, tandis que LinkedList est moins adaptée à cet accès mais convient davantage aux insertions et suppressions.
ArrayList = tableau dynamique ; LinkedList = chaîne double
★ À maîtriser
📌 HashMap utilise une table de hachage, est non ordonnée et non synchronisée, tandis que TreeMap repose sur un arbre binaire équilibré, est ordonnée et non synchronisée.
Compléments
Hashtable est une implémentation de Map synchronisée qui conserve des méthodes historiques.
Pour parcourir une Map avec la méthode présentée, on récupère ses clés avec keySet(), on obtient un Iterator, puis on récupère chaque valeur avec get(clé).
HashMap non ordonnée ; TreeMap ordonnée ; Hashtable synchronisée
★ À maîtriser
📌 La méthode compareTo() renvoie une valeur négative si this est inférieur à l’autre objet, zéro s’ils sont considérés égaux et une valeur positive si this est supérieur.
Compléments
Comparable compareTo() interne ; Comparator compare() externe
| Dimension | Classe abstraite | Interface |
|---|---|---|
| Déclaration | abstract class | interface |
| Rôle | Base commune | Contrat |
| Constructeur et attributs | Constructeur et attributs possibles | Données static et final dans le modèle |
| Relation avec une classe | extends | implements |
| Multiplicité | Une seule classe héritée | Plusieurs interfaces implémentables |
| Dimension | Comparable | Comparator |
|---|---|---|
| Lieu de comparaison | Dans la classe comparable | Dans une classe externe |
| Méthode | compareTo() | compare() |
| Rôle | Définit l’ordre naturel | Définit un critère de comparaison externe |
Teste tes connaissances sur POO Java : polymorphisme et collections avec 11 questions à choix multiples et corrections détaillées.
1. En polymorphisme, qu’est-ce qui détermine la méthode redéfinie exécutée lorsqu’une référence désigne un objet ?
2. Quelle instruction illustre un upcasting en Java ?
Mémorisez les concepts clés de POO Java : polymorphisme et collections avec 11 flashcards interactives.
Qu'est-ce que le polymorphisme en programmation orientée objet ?
Une même référence peut désigner des objets de types différents avec comportement dépendant de l'objet réel.
Que signale l'annotation @Override en Java ?
Qu'une méthode redéfinit une méthode héritée avec une nouvelle implémentation.
Qu'est-ce qu'une classe abstraite en programmation orientée objet ?
Une classe abstraite représente un concept général et ne peut pas être instanciée directement.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches