badr benmammar bbm@badr-benmammar.com programmation objet avec java partie 2

Download Badr Benmammar bbm@badr-benmammar.com Programmation objet avec JAVA Partie 2

Post on 04-Apr-2015

107 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Page 1
  • Badr Benmammar bbm@badr-benmammar.com Programmation objet avec JAVA Partie 2
  • Page 2
  • Plan Hritage Classes abstraites Interfaces Modificateur final Exception
  • Page 3
  • Hritage de classe public class Rectangle4 { double x, y, largeur, hauteur; Rectangle4 ( ) { x = 0; y = 0; largeur = 0; hauteur = 0; } Rectangle4 (double valX, double valY, double valL, double valH) { x = valX; y = valY; largeur = valL; hauteur = valH; } double surface() { return largeur * hauteur; } double perimetre() { return 2*(largeur + hauteur); } public class Carre4 extends Rectangle4 { Carre4(double valX, double valY, double valCote) { x = valX; y = valY; largeur = valCote; hauteur = valCote; } double surface() { return Math.pow(largeur, 2); } double diagonale() { return largeur * Math.sqrt(2); } La classe Carre4 (fille ou sous-classe) hrite les attributs et les mthodes de la classe Rectangle4 (mre ou superclasse). La mthode surface est re-dfinie dans Carre4 et donc masque la dfinition de surface de Rectangle4.
  • Page 4
  • Hritage de classe public class Prog35 { public static void main (String args[]) { Carre4 c; c = new Carre4(40,40,100); System.out.println("surface de c : "+c.surface()); System.out.println("perimetre de c : "+c.perimetre()); System.out.println("diagonale de c : "+c.diagonale()); } Rsultat: surface de c : 10000.0 perimetre de c : 400.0 diagonale de c : 141.4213562373095 A l'appel de la mthode surface, celle-ci est d'abord recherche dans la classe Carre4 o se trouve une (re)dfinition. A l'appel de la mthode perimetre, celle-ci est d'abord recherche dans la classe Carre4 : pas de dfinition; puis elle est recherche dans sa superclasse o se trouve une dfinition.
  • Page 5