Adloun

programmation Java (école d'ingénieur) · Chapitre 10 · Application directe du cours

Ce qui compile

Classes abstraites et interfaces · niveau 1 (application)

Énoncé

Forme est la classe abstraite du cours (méthodes abstraites aire() et nom()), et Cercle l'une de ses sous-classes concrètes. Dire, pour chaque ligne, si elle compile, en justifiant.

  • Forme f = new Forme();
  • Forme f = new Cercle(2.0);
  • Forme[] t = new Forme[10];
  • class Point { abstract void deplacer(int dx); }
  • abstract class Polygone extends Forme { int nbCotes; }

Corrigé

  • Ne compile pas : Forme is abstract; cannot be instantiated.
  • Compile : on instancie la classe concrète Cercle, et un cercle est une forme (transtypage vers le haut).
  • Compile : on crée un tableau de dix références de type Forme, toutes égales à null ; aucun objet Forme n'est créé. On y rangera ensuite des cercles ou des rectangles.
  • Ne compile pas : une classe qui contient une méthode abstraite doit être déclarée abstract.
  • Compile : Polygone est abstraite, elle n'est donc pas obligée de fournir aire() et nom(). Ce seront ses sous-classes concrètes (Hexagone…) qui le feront.

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 →