[PDF] EN -TETE SUJETS Exercice 1. Soit l'interface





Previous PDF Next PDF



Le livre de JAVA premier langage Avec 109 exercices corrigés Le livre de JAVA premier langage Avec 109 exercices corrigés

Cet ouvrage vous expliquera aussi comment réaliser des applications Java dotées d'interfaces graphiques conviviales grâce au logiciel libre NetBeans. Enfin 



175 exercices corrigés - Couvre Java 8 (Noire) (French Edition) 175 exercices corrigés - Couvre Java 8 (Noire) (French Edition)

• Interfaces ; définition implémentation ; variables de type interface ; constantes d'une interface ; dérivation d'une interface. • Classes enveloppes 



TD7 : Exceptions et Itérateurs

击 Exercice 4. On consid`ere l'interface Java suivante : 1 package exo4;. 2. 3 public interface IterateurTabInt {. 4 public int suivant();. 5 public int 



TD n 6 Un peu de classe abstraite 1 Interfaces vs Classes

statique et abstraite ? Correction : Java < 8 : une interface ne peut contenir que des méthodes publiques abstraites Exercice 3 On ne s'intéresse pour l ...



Exercice 1.2 Exercice 1.2

Le code Java affichera hello + l'adresse de l'objet en question. Page 19. CORRIGÉ DES EXERCICES DE L'OUVRAGE. « LA PROGRAMMATION ORIENTÉE OBJET » DE 



TD et TP du Module POA licence Informatique 3 TD et TP du Module POA licence Informatique 3

Pour le TP : Exo2_a_completer.java. Exercice 3 : TD et TP. Écrire une La nouvelle classe s'appellera Calculatrice2. Exercice 7 : TP. Réalisez une interface ...



1 Corrigé de Examen Programmation par les Objets en Java 1A Juin

Exercice 2). Soit une interface Java I et deux classes C1 et C2 qui l'implémentent. Les quelles des déclarations suivantes sont justes ou fausses ? Pourquoi 



TD 7 IJA Les interfaces graphiques JAVA TD 7 IJA Les interfaces graphiques JAVA

Exercice (à programmer). tfPanel. chPanel. lstPanel. cbPanel. rbPanel. btPanel. MenuBar. Label. Checkbox. Button. TextField. Choice. List. Page 10. Tarak Chaari 



Exercices de Programmation Orientée Objet en Java

À quel affichage conduit l'exécution du programme (éventuellement corrigé)? public interface Affichable{ public java.awt.Color getColor(); public java ...



Corrigés des exercices sur les interfaces

Corrigés des exercices sur les interfaces. Exercice 5.1.1 Animaux. Certain animaux peuvent crier d'autres sont muets. On représentera le fait de crier au 



Corrigés des exercices sur les interfaces

Corrigés des exercices sur les interfaces. Exercice 5.1.1 Animaux écrire une interface contenant la méthode permettant de crier.



1 Corrigé de Examen Programmation par les Objets en Java 1A Juin

ligne 4. Pas besoin d'indiquer l'extension .class. Exercice 2). Soit une interface Java I et deux classes C1 et C2 qui l'implémentent. Les quelles des.



Exercices de Programmation Orientée Objet en Java

Ligne 27 le i de Toto est privé



175 exercices corrigés - Couvre Java 8 (Noire) (French Edition)

175 exercices corrigés pour maîtriser Java Interfaces ; définition implémentation ; variables de type interface ; constantes d'une interface ...



Le livre de JAVA premier langage Avec 109 exercices corrigés

Tableaux•Listes et dictionnaires•Archivage des données•Gestion des exceptions •Librairies AWT et Swing•Fenêtre clavier et souris•Interface graphique avec 



Exercices en Java

Travaux pratiques en Java. Séance 3: Interfaces et Classes Abstraites. Najib Tounsi. Les Interfaces. Les Classes Abstraites. Classe Abstraite vs Interface.



TP #1 Langage Java / Corrigé Exercice 1 : Concepts de la

7. Un regroupement de méthodes sans implémentation est appelé une interface. Exercice 2 : Classes et Interfaces. Etablissez une interface 'Car 



Construction dinterfaces graphiques en Java Le but de cet exercice

Le but de cet exercice est d'écrire un code Java de la construction de l'interface graphique et de la réaction des actions de l'utilisateur sur une 



EN -TETE SUJETS

Exercice 1. Soit l'interface VecteurObject. public interface VecteurObject. { public void ajouter(int indice Object élement) ;.



Feuille 1 - Exercices de révision

Algorithmique et programmation java Dans cet exercice on se propose d'écrire les classes utiles à la ... On considère l'interface suivante :.



[PDF] Corrigés des exercices sur les interfaces

Corrigés des exercices sur les interfaces Exercice 5 1 1 Animaux Certain animaux peuvent crier d'autres sont muets On représentera le fait de crier au 



[PDF] Exercices en Java

Exercices: Faire une hiérarchie de plus d'une classes abstraites Vérifier les règles énoncée précédemment Classe Abstraite vs Interface Une interface ne peut 



Exercice Java corrigé héritage et interfaces – primes de risque

Exercice Java héritage et interfaces – primes de risque tutoriel guide de travaux pratiques en pdf Cet exercice vous permettra de concevoir une 



[PDF] 175 exercices corrigés - Couvre Java 8 (Noire) (French Edition)

175 exercices corrigés pour maîtriser Java Conçu pour les étudiants en informatique ce recueil d'exercices corrigés est le complément idéal de Programmer 



Exercice interface et classes abstrait Cours pdf

Exercices: Faire une hiérarchie de plus d'une classes abstraites Vérifier les règles énoncée précédemment Classe Abstraite vs Interface Une interface ne peut 



[PDF] Exercices de Programmation Orientée Objet en Java - MIS

Ligne 27 le i de Toto est privé donc invisible ici Une fois corrigé l'affichage est 2 1 Exercice 3 6 - solution : public interface List { public 



[PDF] 1 Corrigé de Examen Programmation par les Objets en Java 1A Juin

ligne 4 Pas besoin d'indiquer l'extension class Exercice 2) Soit une interface Java I et deux classes C1 et C2 qui l'implémentent Les quelles des



[PDF] EN -TETE SUJETS

Exercice 1 – Vecteur Extensible d'objets 4 points (2 points) Ecrire la classe VecteurObjectImpl qui est une implémentation de l'interface



[PDF] Feuille 1 - Exercices de révision - lamsade

Algorithmique et programmation java DEMIEE 2ème Année 2013-2014 dans l'exercice précédent 3 Sujet de TP : Création d'une interface graphique



[PDF] Le livre de JAVA premier langage Avec 109 exercices corrigés

Cet ouvrage vous expliquera aussi comment réaliser des applications Java dotées d'interfaces graphiques conviviales grâce au logiciel libre NetBeans Enfin 

  • Comment Ecrire une interface en java ?

    On dit qu'une classe implémente une interface, si elle définit les méthodes de l'interface. En java on déclare qu'une classe implémente une interface avec le mot clé implements . Une interface définit un type (comme une classe) et les classes qui implémentent cette interface sont donc des sous-types.
  • Quand on utilise une interface java ?

    Les interfaces servent à créer des comportements génériques: si plusieurs classes doivent obéir à un comportement particulier, on créé une interface décrivant ce comportement, on est la fait implémenter par les classes qui en ont besoin.
  • Quelle est la différence entre une interface et une classe abstraite ?

    Classes abtraites et interfaces ont chacune une fonction bien distincte : les classes abstraites servent à factoriser du code, tandis que les interfaces servent à définir des contrats de service.
  • Créer une interface peut-être utile si ces dernières ne devraient pas être accessibles. Lorsque du code interagit avec le système de fichier, du réseau ou n'importe quel système tiers, la mise en place d'une interface est essentielle pour se découpler de l'implémentation et faciliter l'écriture de tests.
DISVE

Pôle LicenceANN

ÉE UNIVERSITAIRE 2008/2009

SESSION 1 DE PRINTEMPS 2009

Parcours : CSB4, MHT43 UE : INF252

Epreuve : Programmation 2

Date : 19 Mai 2009 Heure : 11H Dur

ée : 1h 30

Documents : Tous documents interdits

Vous devez r

épondre sur une copie d'examen comportant tous

les renseignements administratifs. Le sujet comporte 4 pages.

Epreuve de Monsieur Domenger JeanPhilippe

La notation tiendra compte de la clart

é et de la précision de l'écriture des réponses. Lisez attentivement le sujet certaines questions font appel

à des connaissances du cours indépendamment

des exercices. Bar ème indicatif·Exercice 1 - Vecteur Extensible d'objets 4 points.

·Exercice 2 - Algorithme d'ex

écution des services d'instances 6 points·Exercice 3 - Exercice de synth

èse. 10 pointsExercice 1.

Soit l'interface VecteurObject.

public interface VecteurObject public void ajouter(int indice, Object

élement) ;

// ajoute élément à la position indice dans le vecteur. public void supprimer(int indice) ; // met null à la position indice dans le vecteur public int longueur() ; // retourne la position maximale d'un élément non null présent dans le vecteur.public int appartient(Object

élément) ;

// retourne la position du premier objet dont l'adresse est

égale à // celle de é

lément ou 1 sinon. ·(2 points) Ecrire la classe VecteurObjectImpl qui est une impl

émentation de l'interface

VecteurObject et qui fixe la taille du Vecteur au moment de sa construction. Les exceptions n'ayant pas été traitées les cas d'erreurs seront simplement signalés par

System.out.println(" ERREUR ») ;

·public class Vecteur

· private int taillePhysique;

· private int indiceMaximum;

· private Object[] donn

ées;·

· public Vecteur(int taille)

·données = new Object[taille];·

·indiceMaximum = 1;

·taillePhysique = taille;

· public void ajouter(int indice, Object element)

·if(indice >= taillePhysique || indice < 0)

· System.out.println("ERREUR");

·else{

· donn

ées[indice] = element;· if((element != null) && (indice > indiceMaximum))

·indiceMaximum = indice;

· public void supprimer(int indice)

·if(indice >= taillePhysique || indice < 0)

· System.out.println("ERREUR");

·else{

· donn

ées[indice] = null;· if(indiceMaximum == indice)

· indiceMaximum = 1;

· for(int i = taillePhysique; i >= 0; i)

·if(donn

ées[i] != null)· {

·indiceMaximum = i;

·return;

· public int longueur()

·return indiceMaximum;

· public int appartient(Object element)

·for(int i = 0; i < taillePhysique; i++)

· if(element == donn

ées[i])·return i;

·return 1;

·(2 points) Dans ce cas, VecteurObject est un conteneur de références d'objet. Quelles seraient les

modifications

à apporter pour en faire un conteneur d'états d'objets. Expliquez les modifications.·Il faut utiliser le service clone lorsqu'on ins

ère un objet et le service equals lorsqu'on recherche un objet dans le vecteur. Le service clone

étant protected dans la classe Object il

est n écessaire de déclarer comme Cloneable l'objet que l'on insère dans le vecteur. ·

·public class Vecteur

· private int taillePhysique;

· private int indiceMaximum;

· private Object[] donn

ées;·

· public Vecteur(int taille)

·donn

ées = new Object[taille];·

·indiceMaximum = 1;

·taillePhysique = taille;

· public void ajouter(int indice, Cloneable element)

·if(indice >= taillePhysique || indice < 0)

· System.out.println("ERREUR");

·else{

· donn

ées[indice] = element.clone();

· if((element != null) && (indice > indiceMaximum))

·indiceMaximum = indice;

· public void supprimer(int indice)

·if(indice >= taillePhysique || indice < 0)

· System.out.println("ERREUR");

·else{

· donn

ées[indice] = null;· if(indiceMaximum == indice)

· indiceMaximum = 1;

· for(int i = taillePhysique; i >= 0; i)

·if(donn

ées[i] != null)· {

·indiceMaximum = i;

·return;

· public int longueur()

·return indiceMaximum;

· public int appartient(Object element)

·for(int i = 0; i < taillePhysique; i++)

· if(element.equals(données[i]))

·return i;

·return 1;

Exercice 2.

(0,5 point) Donner une d éfinition du concept de surcharge en Java. Justifiez son intérêt. La surcharge est la possibilit é le même nom dans une même classe pour identifier des services diff

érents. Pour que la surcharge soit licite, il faut que les services de même nom différent par le

nombre ou le type des param ètres. Le type de retour n'est pas distinctif dans la surcharge. L'intéret de la surcharge est d'am éliorer la compréhension d'une classe, puisque nous pouvons utiliser le m ême nom pour des services qui ont la même siginification.(0,5 point) Donner une d éfinition du concept de redéfinition en Java. Justifiez son intérêt.La red

éfinition est la possibilité d'utiliser la même signature dans un type et sans un soustype. La

fonction red éfinit au niveau du sous type peut changer, spécialiser le comportement d'un service du sur type. La red éfinition couplée avec l'algorithme de sélection permet d'obtenir la propriété suivante : Un objet pr éserve son comportement indépendamment du type qui le déclare. ·(0,5 point) Donner une d

éfinition de type déclaré et de type réel. Précisez cette notion sur un exemple. Le type d

éclaré est le type de la variable qui est utilisé pour référencé un objet. Le type r

éel d'un objet est le type de la classe qui l'a instancié.Ex: Animal a = new Cochon(). Le type d

éclaré de a est Animal, le type réel de a est Cochon.(1,5 points) Rappelez les deux étapes de l'algorithme d'exécution des services d'instances en Java. R

ésolution de la surcharge. En partant du type déclaré on collecte l'ensemble des services qui

ont le nom recherch é sur l'ensemble du haut de l'arbre d'héritage. On supprime celles qui n'ont pas la bonne arit é et qui ne sont pas compatibles avec l'appel. Si il n'en reste aucune, il y a une erreur de compilation. Ensuite parmis les candidates restantes ont

évalue le coût de

conversion. Si il y a plusieurs fonctions de co

ût minimal, il y a une erreur de compilation.

Sinon il n'y a qu'une seule signature qui est conserv ée, la phase de compilation est correcte. Ex écution du service. En partant du type réel de l'objet, on recherche dans le haut de l'arbre d'h

éritage un service qui correspond exactement à la signature sélectionnée à l'étape 1. On

ex écute le premier service rencontré qui a exactement cette signature.  (3 points) Soient les hiérarchies de classes suivantes : class A {} class B extends A{} class C extends B{} class X { public void m(B b){ System.out.println(" X param B ») ; public void m(A a){ System.out.println(" X param A ») ; class Y extends X { public void m(C c) {System.out.println(" Y param C ») ; public void m(B b) {System.out.println(" Y param B ») ; class Z extends Y{ public void m(B b) {System.out.println(" Z param B ») ; public void m(A a) {System.out.println(" Z param A») ; Pour le code ci-dessous, donner pour chacun des 9 appels, les résultats donnés par chacune des étapes de l'algorithme d'exécution des services d'instances en Java. public static void main (String [] argv)

C c = new C() ; B b = c ; A a = c ;

Z z = new Z() ; Y y = z ; X x = z ;

x.m(a) ; // appel 1 y.m(a) ; // appel 2 z.m(a) ; // appel 3 x.m(b) ; // appel 4 y.m(b) ; // appel 5 z.m(b) ; // appel 6 x.m(c) ; // appel 7 y.m(c) ; // appel 8 z.m(c) ; // appel 9 appel 1:

Etape 1: signature s

électionnée m(A a)Etape 2: Resultat Z param A appel 2

Etape 1: signature s

électionnée m(A a)Etape 2: Resultat Z param A appel 3

Etape 1: signature s

électionnée m(A a)Etape 2: Resultat Z param A appel 4

Etape 1: signature s

électionnée m(B b)Etape 2: Resultat Z param B appel 5

Etape 1: signature s

électionnée m(B b)Etape 2: Resultat Z param B appel 6

Etape 1: signature s

électionnée m(B b)Etape 2: Resultat Z param B appel 7

Etape 1: signature s

électionnée m(B b)Etape 2: Resultat Z param B appel 8

Etape 1: signature s

électionnée m(C c)Etape 2: Resultat Y param C appel 9 Etape 1: signature sélectionnée m(C c)Etape 2: Resultat Y param C

Exercice 3.

Soit une partie du code de l'interface Point2D

public interface Point2D public Point2D dupliquer() ; // cr ée un nouveau Point2D dans le même que le sélecteur. public boolean equals(Object o) ; // Compare si deux instances de Point2D sont dans le m

ême état

public void deplacer(double x, double y) ; // d éplace le sélecteur aux coordonnées cartésiennes (x,y) }

Une interface FormeCentr

ée propose deux services qui sont déplacerCentre et dessiner. Cette interface

FormeCentr

ée est implémentée partiellement par une classe abstraite FormeCentréeImpl. Cette classe abstraite contient une variable d'instance protected Point2D centreForme ; 2/4

Elle factorise le code du service d

éplacerCentre qui consiste à déplacer la variable centreForme. Dans cette classe abstraite le service dessiner et abstrait. Les classes Carr

é et Cercle sont deux

impl

émentations de FormeCentrée qui héritent de FormeCentréeImpl et qui implémentent leur propre

service d'instance dessiner. On se contentera pour dessiner un Carr

é (resp un Cercle) d'afficher sur la

sortie standard " je suis un carr

é (resp. un cercle) » .

·(1 point) Ecrire les classes de FormeCentr

éeImpl, Carré et Cercle. ATTENTION, Le

centre d'une FormeCentr ée ne peut être déplacé que par un service de FormeCentrée ou des sous classes de FormeCentr

ée.·(1 point). Red

éfinir le service d'instance equals sur la hiérarchie de classe de FormeCentrée. public abstract FormeCentreeImpl implement FormeCentree protected Point2D centreForme; protected FormeCentreeImpl(Point2D p) centreForme = p.dupliquer(); public deplacerCentre(double x, double y) centreForme.deplacer(x,y); public boolean equals(Object o) if( o instanceof FormeCentreImpl)

FormeCentreeImpl tmp = (FormeCentreeImpl) o;

return tmp.centreForme.equals(centreForme); return false; public class Carre extends FormeCentreeImpl protected double cote; public Carre(Point2D ce, double c) super(ce); cote = c; public void dessiner()

System.out.println("Je suis un CarrÈ"); }

public boolean equals(Object o) if( o instanceof Carre)

Carre tmp = (Carre) o;

return super.equals(tmp) && tmp.cote == cote; return false; public class Cercle extends FormeCentreeImpl protected double rayon; public Cercle(Point2D ce, double r) super(ce); rayon = r; public void dessiner()

System.out.println("Je suis un Cercle");

public boolean equals(Object o) if( o instanceof Cdercle)

Cercle tmp = (Cercle) o;

return super.equals(tmp) && tmp.rayon == rayon; return false; Une interface Animation propose trois services d'instances qui sont reprendreAnimationAuDébut, avancerAnimation, animationTermin

ée. L'interface Animation est :

public interface Animation public void reprendreAnimationAuD

ébut() ;

public void avancerAnimation() ; public boolean animationTermin

ée() ;

Cette interface Animation est impl

émentée par deux classes qui sont AnimationConstanteImpl et

AnimationAcc

éléréeImpl. Les services de ces deux classes font évoluer un point2D qu'elles reçoivent

en param

ètre au moment de leur instanciation et qu'elles stockent par référence. En reprenant les sp

écifications du début de l'exercice, on s'intéresse maintenant à composer les deux hi

érarchies. ·(1 point) On s'int

éresse à la définition du type CarréAnimé qui est un Carré et une Animation.

Expliquer pourquoi Carr

éAnimé ne peut pas être une classe instanciable. Donner le code de la classe abstraite Carr éAnimé dans ce cas. Précisez et justifiez pourquoi certains services de cette classe sont n

écessairement abstraits. Un carr

éAnimé est nécessairement un Carré, mais on ne peut pas préciser qu'elle animation permet au carr

éAnimé de fonctionner. Donc la classe CarréAnimé est une classe abstraite qui ne peut pas impl

émenter les services de l'interface Animation. Il faudrait que les spécifications sur Carr

éAnimée soit plus précise. Comme l'interface Animation n'est pas Cloneable ou ne possède pas de service dupliquer on ne peut dans ce cas utiliser la d

élégation. abstract public class CarreAnime extends Carre implements Animation public abstract void reprendreAnimationAuD ébut(); public abstract void avancerAnimation(); public abstract boolean animationTermin

Èe();}

·(5 points) On voudrait maintenant d

éfinir une classe CarréAnimationConstante.

1.(1 point) Rappelez la définition de l'héritage de type et de ses propriétés. Rappelez la

d

éfinition de l'héritage de code et de ses propriétés. Existe til en Java de l'héritage

multiple de code ? ■L'h éritage de type se traduit par la relation " est une sorte de » ou " est un ».Les deux propri

étés sont:1.On peut r

éférencer par une variable du sur type une variable du soustype, (principe de substitution)

2.L'interface fonctionnelle publique du surtype est incluse dans l'interface

fonctionnelle publique du sous type. ■L'h éritage de code, c'est d'abord de l'héritage de type plus la possibilité d'utiliser partiellement ou totalement au niveau du sous type le code du sur type. ■En java, il n'y a que de l'h éritage simple de code. C'est à dire qu'une classe ne peut h ériter du code que d'une seule classe. (1 point) Expliquez pourquoi en respectant les sp écifications précédentes, il est impossible de d éfinir une classe CarréAnimationConstante qui soit à la fois une sorte de Carr é et d'AnimationConstanteImpl. Carré et AnimationConstanteImpl sont deux classes qui d

éfinissent un type. Comme en Java, il n'y a pas d'héritage multiple de codeet comme il n'y a pas une interface qui repr

ésente soit le type Carré soit le type AnimationConstante et de Carr é.2.(3 points) On ajoute une interface AnimationConstante qui est un sur type de AnimationConstanteImpl et sous type de Animation. Donner dans ce cas, la d

éfinition

Java du type Carr

éAnimationConstante qui est un sous type de Carré et de

AnimationConstante. Proposer alors une impl

émentation de telle sorte que la classe

Carr éAnimationConstante soit instanciable. Dans ce cas, l'animation se chargera de d

éplacer le centre du Carré.public class CarreAnimation extends Carre implements AnimationConstante

AnimationConstanteImpl delegAnimation ;

Public CarreAnimation(Point2D p, double cote)

Super(p,cote) ;

delegAnimation = new AnimationConstante(centreForme) ; public void reprendreAnimationAuD

ébut(){

delegAnimation. reprendreAnimationAuD

ébut() ;

public void avancerAnimation() delegAnimation. avancerAnimation(). public boolean animationTermin

ée(){

return delegAnimation. animationTermin

ée()}

3/4

·(1 point). En vous inspirant de la question précédente ajoutez les classes et interfaces qui vous

semblent n écessaires pour pouvoir insérer dans les spécifications les classes

CarreAnimationAcc

élérée, CercleAnimationConstante, CercleAnimationAccélérée. Donnez un sch

éma qui présente les relations (héritage de type, héritage de code, concrétisation, délégation)

entre tous les types de cet exercice et ceux que vous avez ajout és. ·(1 point) Est ce qu'il est possible en utilisant la d

élégation d'écrire une classe

CarreAnimationImpl qui fournirait de la factorisation pour code les classes

CarreAnimationConstante et CarreAnimationAccel

érée. Donnez l'implémentation de cette

classe.

Oui il faut que cette classe prenne dans un constructueur une Animation.Héritage de type ou de code

Héritage de type ou de code ConcrétisationDélégation

Animation

Animation

ConstanteAnimation

Acc

éléréeAnimation

ConstanteImplAnimation

Acc

éléréeImplForme

FormeCentreeImpl

CercleCarre

CarreAnimation

Constante

abstract public class CarreAnimationImpl extends Carre implements AnimationConstante

AnimationConstanteImpl delegAnimation ;

protected CarreAnimationImpl(Point2D p, double cote, AnimationConstant anim)

Super(p,cote) ;

delegAnimation = anim ; public void reprendreAnimationAuDébut(){ delegAnimation. reprendreAnimationAuD

ébut() ;

public void avancerAnimation()quotesdbs_dbs6.pdfusesText_11
[PDF] la fille de jannina

[PDF] typologie du changement

[PDF] changement imposé

[PDF] changement construit

[PDF] conduite du changement ppt

[PDF] changement prescrit définition

[PDF] pratiques de la conduite du changement comment passer du discours ? l action

[PDF] changement adaptatif

[PDF] exemple de conduite de changement en entreprise

[PDF] prendre conscience de soi est-ce devenir étranger ? soi corrigé

[PDF] etre etranger a soi meme

[PDF] prendre conscience de soi est ce devenir soi meme

[PDF] prendre conscience de soi est-ce devenir étranger ? soi introduction

[PDF] prendre conscience de soi c'est devenir étranger ? soi

[PDF] peut on etre etranger a soi meme