SlideShare uma empresa Scribd logo
1 de 23
POO
la p
           rog
                   ram
                      ma
   s'appuie sur la
                        tion
  théorie                      orie
   des                             nté
                                      eo
                                        bje
ensembles                                  ts
? ??
ç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 des fruits rouges




                qui contient l'ensemble des pommes
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) {             Euh? Bof...

        /* ... */
       }
       catch(ArithmeticException e) {
        /* ... */
       }
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...
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
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é!
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
 /* ... */
}
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
c'est la notion d'   héritage , qui est

          fondamentale en programmation orientée objets




compris
                                                          ok



oui

Mais conteúdo relacionado

Destaque

Programme Cap'Com 2001
Programme Cap'Com 2001Programme Cap'Com 2001
Programme Cap'Com 2001Cap'Com
 
Présentation et organigramme de la fondation chirac
Présentation et organigramme de la fondation chiracPrésentation et organigramme de la fondation chirac
Présentation et organigramme de la fondation chiracFondation Chirac
 
La mar - Bella, unica y terrible
La mar - Bella, unica y terribleLa mar - Bella, unica y terrible
La mar - Bella, unica y terribleRobin Hood
 
Lancer un site e-commerce
Lancer un site e-commerceLancer un site e-commerce
Lancer un site e-commerceVaisonet
 
Add tosearchbar
Add tosearchbarAdd tosearchbar
Add tosearchbarReBUB
 
Café NuméRique 24 Mars 2010
Café NuméRique 24 Mars 2010Café NuméRique 24 Mars 2010
Café NuméRique 24 Mars 2010Vincent Vandoorne
 
Diapositivas de sistema
Diapositivas de sistemaDiapositivas de sistema
Diapositivas de sistemaangelarosmery
 
Resumen. La sociedad en red. Edición 2012.
Resumen. La sociedad en red. Edición 2012.Resumen. La sociedad en red. Edición 2012.
Resumen. La sociedad en red. Edición 2012.Alfredo Alday
 
Réflexion : disparité des cibles, diversité des supports ?
Réflexion : disparité des cibles, diversité des supports ?Réflexion : disparité des cibles, diversité des supports ?
Réflexion : disparité des cibles, diversité des supports ?Cap'Com
 
Fusioninventory journees-perl-2012
Fusioninventory journees-perl-2012Fusioninventory journees-perl-2012
Fusioninventory journees-perl-2012Gonéri Le Bouder
 
Memoria grupo de trabajo
Memoria grupo de trabajoMemoria grupo de trabajo
Memoria grupo de trabajojavireli
 
L'immensité de la Chine
L'immensité de la ChineL'immensité de la Chine
L'immensité de la ChineFrescatiStory
 
Tableau Comparaison art.73 art. 74
Tableau Comparaison art.73  art. 74Tableau Comparaison art.73  art. 74
Tableau Comparaison art.73 art. 74lafontaine
 
E03 Art Mini-quiz
E03 Art Mini-quizE03 Art Mini-quiz
E03 Art Mini-quizMmeBosch
 

Destaque (18)

Font2
Font2Font2
Font2
 
Paris 2.0 = Xavier Charpentier, planneur stratégique, Co-Foundateur de FreeTh...
Paris 2.0 = Xavier Charpentier, planneur stratégique, Co-Foundateur de FreeTh...Paris 2.0 = Xavier Charpentier, planneur stratégique, Co-Foundateur de FreeTh...
Paris 2.0 = Xavier Charpentier, planneur stratégique, Co-Foundateur de FreeTh...
 
Programme Cap'Com 2001
Programme Cap'Com 2001Programme Cap'Com 2001
Programme Cap'Com 2001
 
Présentation et organigramme de la fondation chirac
Présentation et organigramme de la fondation chiracPrésentation et organigramme de la fondation chirac
Présentation et organigramme de la fondation chirac
 
La mar - Bella, unica y terrible
La mar - Bella, unica y terribleLa mar - Bella, unica y terrible
La mar - Bella, unica y terrible
 
Lancer un site e-commerce
Lancer un site e-commerceLancer un site e-commerce
Lancer un site e-commerce
 
Sakabuma.
Sakabuma.Sakabuma.
Sakabuma.
 
Add tosearchbar
Add tosearchbarAdd tosearchbar
Add tosearchbar
 
MANAGEMENT 2.0 De la juste place du designer par dominique sciamma
MANAGEMENT 2.0 De la juste place du designer par dominique sciammaMANAGEMENT 2.0 De la juste place du designer par dominique sciamma
MANAGEMENT 2.0 De la juste place du designer par dominique sciamma
 
Café NuméRique 24 Mars 2010
Café NuméRique 24 Mars 2010Café NuméRique 24 Mars 2010
Café NuméRique 24 Mars 2010
 
Diapositivas de sistema
Diapositivas de sistemaDiapositivas de sistema
Diapositivas de sistema
 
Resumen. La sociedad en red. Edición 2012.
Resumen. La sociedad en red. Edición 2012.Resumen. La sociedad en red. Edición 2012.
Resumen. La sociedad en red. Edición 2012.
 
Réflexion : disparité des cibles, diversité des supports ?
Réflexion : disparité des cibles, diversité des supports ?Réflexion : disparité des cibles, diversité des supports ?
Réflexion : disparité des cibles, diversité des supports ?
 
Fusioninventory journees-perl-2012
Fusioninventory journees-perl-2012Fusioninventory journees-perl-2012
Fusioninventory journees-perl-2012
 
Memoria grupo de trabajo
Memoria grupo de trabajoMemoria grupo de trabajo
Memoria grupo de trabajo
 
L'immensité de la Chine
L'immensité de la ChineL'immensité de la Chine
L'immensité de la Chine
 
Tableau Comparaison art.73 art. 74
Tableau Comparaison art.73  art. 74Tableau Comparaison art.73  art. 74
Tableau Comparaison art.73 art. 74
 
E03 Art Mini-quiz
E03 Art Mini-quizE03 Art Mini-quiz
E03 Art Mini-quiz
 

Mais de Sylvain Leroux

Mais de Sylvain Leroux (8)

ModèLes DexéCution
ModèLes DexéCutionModèLes DexéCution
ModèLes DexéCution
 
Le Jdk En 5 Minutes
Le Jdk En 5 MinutesLe Jdk En 5 Minutes
Le Jdk En 5 Minutes
 
Java Platform
Java PlatformJava Platform
Java Platform
 
UML+Python
UML+PythonUML+Python
UML+Python
 
Premier contact avec Subversion
Premier contact avec SubversionPremier contact avec Subversion
Premier contact avec Subversion
 
Notion de fonction en Python
Notion de fonction en PythonNotion de fonction en Python
Notion de fonction en Python
 
Variables variables
Variables variablesVariables variables
Variables variables
 
Merise vs UML
Merise vs UMLMerise vs UML
Merise vs UML
 

Poo

  • 1. POO
  • 2. la p rog ram ma s'appuie sur la tion théorie orie des nté eo bje ensembles ts
  • 3. ? ?? ça a l'air compliqué, comme ça....
  • 4. Mais en fait, c'est assez simple... OO
  • 5. Imaginez quelques fruits bien colorés...
  • 6. En fait, ils peuvent être nombreux...
  • 7. La théorie des ensembles nous permet de classer ces objets:
  • 8. Par exemple en trouvant l'ensemble des fruits...
  • 9. ou celui des fruits rouges
  • 10. Ou celui des pommes...
  • 11. Gribouillages à part, on constate: que l'ensemble des fruits contient l'ensemble des fruits rouges qui contient l'ensemble des pommes
  • 12. OO ⊂ ⊂ Mathématiquement,
  • 13. Euh, j'm'ai trompé de cours, moi ? OO Non, non! Rassures-toi...
  • 14. OO Et ça, ça t'évoque quelque chose?
  • 15. Ce ne sont plus des ensembles de fruits, de fruits rouges ou de pommes... ... mais c'est le même principe!
  • 16. Et c'est tout comme ça en programmation orientée objets... ...y compris pour les exceptions!
  • 17. Du coup, tu comprends le problème ici... try {  /* ... */ } catch(Exception e) { Euh? Bof...  /* ... */ } catch(ArithmeticException e) {  /* ... */ }
  • 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. 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. 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. 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. 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. c'est la notion d' héritage , qui est fondamentale en programmation orientée objets compris ok oui