Un fichier par classe
- Le fichier porte OBLIGATOIREMENT le nom de la classe
- Le code des méthodes est inclus dans la classe (pas de header, le code est "inline" )
- Dans une application une seule classe comporte une méthode main.
- La méthode main est static
- les objets sont manipulés à partir de leur référence
- les mots clés private, public, protected sont répétés pour chaque méthode ou attribut (...)
[...] Les méthodes abstraites seront définies dans les sous classes. Exemple: concept de forme géométrique Forme géométrique:une classe abstraite import java.awt.*; public abstract class FormeGeometrique { Color couleur; public abstract float getSurface(); Méthode abstraite public abstract float getPerimetre(); Méthode abstraite public void setCouleur( Color coul) { couleur= coul; } public Color getCouleur() { return couleur; } } Utilisation de la classe abstraite public class Rectangle extends FormeGeometrique { float longueur, largeur; public Rectangle( float longueur, float largeur) { this.longueur= longueur; this.largeur= largeur; } public float getSurface() { return longueur*largeur; } public float getPerimetre() { return 2*(longueur + largeur); } } Utilisation de la classe abstraite public class Cercle extends FormeGeometrique { float rayon; public static final double PI= 3.141592 ; public Cercle( float rayon) { this.rayon= rayon; } public float getSurface() { return PI*rayon*rayon; } public float getPerimetre() { return PI*rayon*2; } } Classes abstraites du JDK public abstract class Dictionary ( paquetage java.util) public abstract class Calendar ( paquetage java.util) public abstract class Reader( paquetage java.io) public abstract class Writer ( paquetage java.io) Les interfaces Contrairement aux classes abstraites, les interfaces: ont des méthodes qui sont toutes implicitement abstraites ( pas de corps). [...]
[...] On utilise le mot clé implements pour indiquer qu'une classe respecte une interface. Exemple d'interface UnCompteur.java public interface UnCompteur { public void incrementer(); public int getEtat(); } Toutes les méthodes sont public et abstraites. Implémentation de l'interface UnCompteur public class Compteur implements UnCompteur { private int etat = public void incrementer() { etat = etat + } public int getEtat() { return etat ; } } La classe Compteur respecte bien l'interface UnCompteur car elle définit les méthodes incrementer et getEtat. [...]
[...] Représentation simplifiée de l'interface La classe Compteur implémente l'interface UnCompteur. [...]
[...] Caractéristiques de la programmation en langage Java - Un fichier par classe - Le fichier porte OBLIGATOIREMENT le nom de la classe - Le code des méthodes est inclus dans la classe ( pas de header, le code est "inline" ) - Dans une application une seule classe comporte une méthode main. - La méthode main est static - les objets sont manipulés à partir de leur référence - les mots clés private, public, protected sont répétés pour chaque méthode ou attribut. [...]
[...] Exemple : public CompteurModulo(){ } tout se passe comme si l'on avait écrit: public CompteurModulo() { appel du constructeur vide de Compteur qui doit être défini super(); } Toujours prévoir un constructeur par défaut dans chaque classe. Test de la classe dérivée /**TestCompteur.java public class TestCompteur { public static void main(String[] args) { CompteurModulo unCompteur = new CompteurModulo( unCompteur.incrementer(); System.out.println(" Etat vaut : " + unCompteur.getEtat()); unCompteur.incrementer(); System.out.println(" Etat vaut : " + unCompteur.getEtat()); unCompteur.incrementer(); System.out.println(" Etat vaut : " + unCompteur.getEtat()); } } unCompteur est une référence sur l'objet CompteurModulo. L'opérateur + est redéfini dans la classe String. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture