Accueil » Programmation » Travaux pratiques en Java : Interfaces et Classes Abstraites

Travaux pratiques en Java : Interfaces et Classes Abstraites

Support d’exercices à télécharger en PDF sur Travaux pratiques en Java : Interfaces et Classes Abstraites,document de 3 pages.

Catégorie: , type de fichier: PDF, Nombre de page: 3, auteur: , license: , taille de fichier: 79.40 Kb, niveau: , date: , téléchargement: .

Télécharger

Extrait du cours :

2Exercices:1) Faire deux interfaces A et B et une classe C qui implemente ces deux interfaces.2) Que se passe t-il si les deux interfaces A et B dŽclarent une mme mŽthode f()? Une mme constante x?Indication: pour le savoir, crŽer une classe Test qui utilise f() et x. Pourquoi ne peut-on utiliser x?(rŽponse: La dŽfinition de x est dans les interfaces. Non celle de f().)Les Classes AbtraitesUne classe absraite est une classe qui peut contenir des mŽthodes sans implantations, dites mŽtodesabstraites. L’implantation est laissŽe aux Žventuelles sous classes de la classe abstraite.Une classe abstraite n’est pas obligŽe de contenir des mŽthodes absraites. Mais une classe qui contientune mŽthode abstraite ou qui ne fournit pas l’implantation d’une mŽthode abstraite dŽclarŽe dans uneclasse mre, doit tre dŽclarŽe abstraite.Exemple:abstract class MonAbstract { public int x=2; // x variable d’instance (non considere’ static) abstract public void f(); // methode abstraite a implementer par les sous-classes public void g(){ System.out.println(« Methode non abstraite »); }}NB. Une mŽthode sans corps doit toujours tre dŽclarŽe abstraite. Par ailleurs, une mŽthode abstraite nepeut tre dŽclarŽe static (pourquoi?)Implantation:class MonConcrete extends MonAbstract{ // Noter ‘extends’ au lieu de implements public void f() { // Implementation de f() System.out.println(« Methode abstraite implementee par sous-classe »); }}class Test{ static public void main(String args[]){ MonConcrete o = new MonConcrete(); o.g(); o.f(); o.x++; System.out.println(o.x); }}NB. Compiler d’abord la classe MonAbstract.RŽsultat obtenue:$ java Test

Laisser une réponse

Votre adresse email ne sera pas publiéeLes champs requis sont surlignés *

*