Adloun

programmation Java (école d'ingénieur) · Chapitre 9 · Exercice de TD

Surcharge ou redéfinition ?

Héritage et polymorphisme · niveau 1 (application)

Énoncé

La classe A déclare la méthode double prix(int quantite). Pour chacune des méthodes suivantes, déclarées dans class B extends A, dire s'il s'agit d'une redéfinition, d'une surcharge, ou d'une erreur de compilation.

  • double prix(int q)
  • double prix(long quantite)
  • double prix(int quantite, double remise)
  • int prix(int quantite)
  • double Prix(int quantite)

Corrigé

  • Redéfinition : seuls comptent le nom et les types des paramètres, pas leur nom (q ou quantite).
  • Surcharge : le type du paramètre diffère (long et non int). B a alors deux méthodes prix.
  • Surcharge : le nombre de paramètres diffère.
  • Erreur de compilation : même nom et mêmes paramètres, donc tentative de redéfinition, mais avec un type de retour (int) incompatible avec double.
  • Nouvelle méthode, sans rapport avec prix : Java distingue majuscules et minuscules. Avec @Override, le compilateur l'aurait signalé.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →