POO
la p
           rog
                   ram
                      ma
   s'appuie sur la
                        tion
  théo...
? ??
ça a l'air compliqué, comme ça....
Mais en fait,

c'est   assez simple...




                          OO
Imaginez quelques fruits bien colorés...
En fait, ils peuvent être nombreux...
La théorie des ensembles nous permet de classer ces objets:
Par exemple en trouvant l'ensemble des fruits...
ou celui des fruits rouges
Ou celui des pommes...
Gribouillages à part, on constate:




                que l'ensemble des fruits




                contient l'ensemble d...
OO
     ⊂ ⊂
Mathématiquement,
Euh, j'm'ai trompé de cours, moi ?




OO                         Non, non!
                           Rassures-toi...
OO
     Et ça, ça t'évoque
     quelque chose?
Ce ne sont plus des ensembles de
fruits, de fruits rouges ou de pommes...

        ... mais c'est le même principe!
Et c'est tout comme ça en
programmation orientée objets...




                      ...y compris pour les exceptions!
Du coup, tu comprends
le problème ici...




       try {
        /* ... */
       }
       catch(Exception e) {          ...
try {
                                 intercepte les exceptions
 /* ... */                       de la classe Exception
}...
Or...




        try {
                                         intercepte les exceptions
         /* ... */             ...
Or...




        try {
                                         intercepte les exceptions
         /* ... */             ...
Du coup la solution est simple!




try {
 /* ... */
}
catch(ArithmeticException e) {
 /* ... */
                         ...
Au delà de la gestion des exceptions..


          ce qui compte vraiment
               c'est l'idée...



              ...
c'est la notion d'   héritage , qui est

          fondamentale en programmation orientée objets




compris
             ...
Prochain SlideShare
Chargement dans…5
×

Poo

630 vues

Publié le

Une piqûre de rappel humoristique pour certains de mes étudiants qui avaient des problèmes pendant le cours de Java avec les notions de classe et d'héritage.

Publié dans : Technologie, Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
630
Sur SlideShare
0
Issues des intégrations
0
Intégrations
8
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Poo

  1. 1. POO
  2. 2. la p rog ram ma s'appuie sur la tion théorie orie des nté eo bje ensembles ts
  3. 3. ? ?? ça a l'air compliqué, comme ça....
  4. 4. Mais en fait, c'est assez simple... OO
  5. 5. Imaginez quelques fruits bien colorés...
  6. 6. En fait, ils peuvent être nombreux...
  7. 7. La théorie des ensembles nous permet de classer ces objets:
  8. 8. Par exemple en trouvant l'ensemble des fruits...
  9. 9. ou celui des fruits rouges
  10. 10. Ou celui des pommes...
  11. 11. Gribouillages à part, on constate: que l'ensemble des fruits contient l'ensemble des fruits rouges qui contient l'ensemble des pommes
  12. 12. OO ⊂ ⊂ Mathématiquement,
  13. 13. Euh, j'm'ai trompé de cours, moi ? OO Non, non! Rassures-toi...
  14. 14. OO Et ça, ça t'évoque quelque chose?
  15. 15. Ce ne sont plus des ensembles de fruits, de fruits rouges ou de pommes... ... mais c'est le même principe!
  16. 16. Et c'est tout comme ça en programmation orientée objets... ...y compris pour les exceptions!
  17. 17. Du coup, tu comprends le problème ici... try {  /* ... */ } catch(Exception e) { Euh? Bof...  /* ... */ } catch(ArithmeticException e) {  /* ... */ }
  18. 18. try { intercepte les exceptions  /* ... */ de la classe Exception } catch(Exception e) {  /* ... */ } catch(ArithmeticException e) {  /* ... */ } intercepte les exceptions de la classe ArithmeticException mais seulement celles qui n'ont pas déjà été interceptées, bien sûr...
  19. 19. Or... try { intercepte les exceptions  /* ... */ de la classe Exception } catch(Exception e) {  /* ... */ } catch(ArithmeticException e) {  /* ... */ } intercepte les exceptions de la classe ArithmeticException mais seulement celles qui n'ont pas déjà été interceptées, bien sûr...n
  20. 20. Or... try { intercepte les exceptions  /* ... */ de la classe Exception } y compris celles de la catch(Exception e) { classe  /* ... */ ArithmeticException! } catch(ArithmeticException e) {  /* ... */ } Du coup, ce gestionnaire ne peut jamais être utilisé!
  21. 21. Du coup la solution est simple! try {  /* ... */ } catch(ArithmeticException e) {  /* ... */ Il faut mettre les } gestionnaires du plus catch(Exception e) { restrictif au plus générique  /* ... */ }
  22. 22. Au delà de la gestion des exceptions.. ce qui compte vraiment c'est l'idée... que les objets appartiennent à des classes Et que cesclasses sont incluses dans d'autres classes
  23. 23. c'est la notion d' héritage , qui est fondamentale en programmation orientée objets compris ok oui

×