Javaexam17 corrige Corrigé de Examen Programmation par les Objets en Java A Juin NB Certaines corrections sont détaillées plus qu ? il n ? a été demandé Exercice Un ?chier Salut java contient le texte suivant class Salut static public void main String arg

Corrigé de Examen Programmation par les Objets en Java A Juin NB Certaines corrections sont détaillées plus qu ? il n ? a été demandé Exercice Un ?chier Salut java contient le texte suivant class Salut static public void main String args System out println Bonjour Lesquelles des lignes commandes suivantes sont incorrectes et pourquoi ? javac Salut java ? Java Salut java ? Javac Salut class ? java Salut class ? java Salut ligne Java est une commande pour exécuter et java est un ?chier source ligne Inversement javac est une commande de compilation et class est un bytecode ligne Pas besoin d ? indiquer l ? extension class Exercice Soit une interface Java I et deux classes C et C qui l'implémentent Les quelles des déclarations suivantes sont justes ou fausses Pourquoi ? I x new I faux on n ? instancie pas une interface ? C y new C juste déclaration suivie d ? instanciation par une classe qui implémente l ? interface ? I z new C new C idem même si deux classes di ?érentes Elles implémentent la même interface ? C w new C faux on déclare une classe et on instancie avec une autre types incompatibles Quel est l ? intérêt de déclarer une interface pour ensuite l ? implémenter avec des classes Ne peut-on déclarer directement des classes sans passer par une interface CL ? intérêt est double - Pouvoir choisir entre plusieurs implémentations possibles pour une MEME interface - Une même variable de type Interface peut recevoir des instances de classes di ?érentes Evidement on peut toujours créer des classes sans utiliser des interfaces Exercice Le ?chier source Java qui suit déclare deux classes une classe Vehicule qui porte une méthode moi qui imprime un message et une sous classe Vehicule x qui porte la même méthode Une classe GM ensuite qui contient qui contient deux méthodes demarrer Vehicule et demarrer Vehucule x class Vehicule void moi System out println J'ai roues class Vehicule x extends Vehicule void moi System out println J'ai roues motrices class GM public static void demarrer Vehicule v System out println Un vehicule démarre v moi public static void demarrer Vehicule x v System out println Un x démarre v moi class EssaiVehicule static public void main String args GM demarrer new Vehicule GM demarrer new Vehicule x Vehicule x new Vehicule x GM demarrer x Cdonne comme résultats Un vehicule démarre J'ai roues Un x démarre J'ai roues motrices Un vehicule démarre J'ai roues motrices Commenter ces résultats surtout pourquoi les résultats lignes et sont di ?érents et les résultats lignes et sont les mêmes Instruction GM demarrer new Vehicule C ? est la première méthode de GM qui est appelée appel résolu à la compilation d ? après le pro ?le du paramètre Un véhicule est donc instancié il démarre et il a roues Normal Instruction GM demarrer new Vehicule x C ? est la deuxième méthode de GM qui est appelée appel résolu

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise
Partager