SlideShare una empresa de Scribd logo
1 de 72
Descargar para leer sin conexión
POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
Fonctionnelle
Structures
                  Programmation orient´e objet : l’h´ritage
                                      e             e
POO
Historique
Objet
Classe

H´ritage
 e                               Johann Dr´o
                                          e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts                       28 septembre 2007
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
Fonctionnelle
Structures

POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Plan

POO, h´ritage
      e
                  1   Programmation
Johann Dr´o
         e
                        Programmation fonctionnelle
                        Structures
Pr´-requis
  e
                  2   Programmation orient´e objet
                                          e
Programmation
Fonctionnelle           Historique
Structures
                        Objet
POO
Historique              Classe
Objet
Classe            3   H´ritage
                       e
H´ritage
 e                      D´finition
                          e
D´finition
 e
VS composition          VS composition
Constructeurs
Abstraction             Constructeurs & destructeurs
Concepts
avanc´s
     e
                        Abstraction
Membres
statiques
                  4   Concepts avanc´s
                                    e
Polymorphisme
Exceptions
                        Membres statiques
M´ta-classes
  e
Ramasse-miettes         Polymorphisme
Fin                     Exceptions
Pr´-requis
                    e

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e               Prog. imp´rative
                           e
Programmation
Fonctionnelle
                      Variables
Structures

POO
                      Branchements conditionnels
Historique
Objet                 Boucles
Classe

H´ritage
 e
                      M´moire (pointeurs)
                       e
D´finition
 e
VS composition
Constructeurs
Abstraction
                  Introduction
Concepts               Cours pr´liminaire
                               e
avanc´s
     e
Membres
statiques             approfondissements. . .
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Pr´-requis
                    e

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e               Prog. imp´rative
                           e
Programmation
Fonctionnelle
                      Variables
Structures

POO
                      Branchements conditionnels
Historique
Objet                 Boucles
Classe

H´ritage
 e
                      M´moire (pointeurs)
                       e
D´finition
 e
VS composition
Constructeurs
Abstraction
                  Introduction
Concepts               Cours pr´liminaire
                               e
avanc´s
     e
Membres
statiques             approfondissements. . .
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Plan

POO, h´ritage
      e
                  1   Programmation
Johann Dr´o
         e
                        Programmation fonctionnelle
                        Structures
Pr´-requis
  e
                  2   Programmation orient´e objet
                                          e
Programmation
Fonctionnelle           Historique
Structures
                        Objet
POO
Historique              Classe
Objet
Classe            3   H´ritage
                       e
H´ritage
 e                      D´finition
                          e
D´finition
 e
VS composition          VS composition
Constructeurs
Abstraction             Constructeurs & destructeurs
Concepts
avanc´s
     e
                        Abstraction
Membres
statiques
                  4   Concepts avanc´s
                                    e
Polymorphisme
Exceptions
                        Membres statiques
M´ta-classes
  e
Ramasse-miettes         Polymorphisme
Fin                     Exceptions
Fonctionnelle

POO, h´ritage
      e
                  Fonction math´matique
                               e
Johann Dr´o
         e
                      f (x) = x 2
Pr´-requis
  e

Programmation
                      y = f (x)
Fonctionnelle
Structures

POO
                  En Basic
Historique
Objet
                  1 GOTO 4
Classe            2 y=x*x
H´ritage
 e
D´finition
 e
                  3 GOTO 6
VS composition
Constructeurs
                  4 x=2
Abstraction
                  5 GOTO 2
Concepts
avanc´s
     e            6 PRINT y
Membres
statiques
Polymorphisme
Exceptions        En C
M´ta-classes
  e
Ramasse-miettes       double f( double x ) { return x*x ; }
Fin
                      double x = 2.0 ; double y = f( x ) ;
Fonctionnelle

POO, h´ritage
      e
                  Fonction math´matique
                               e
Johann Dr´o
         e
                      f (x) = x 2
Pr´-requis
  e

Programmation
                      y = f (x)
Fonctionnelle
Structures

POO
                  En Basic
Historique
Objet
                  1 GOTO 4
Classe            2 y=x*x
H´ritage
 e
D´finition
 e
                  3 GOTO 6
VS composition
Constructeurs
                  4 x=2
Abstraction
                  5 GOTO 2
Concepts
avanc´s
     e            6 PRINT y
Membres
statiques
Polymorphisme
Exceptions        En C
M´ta-classes
  e
Ramasse-miettes       double f( double x ) { return x*x ; }
Fin
                      double x = 2.0 ; double y = f( x ) ;
Fonctionnelle

POO, h´ritage
      e
                  Fonction math´matique
                               e
Johann Dr´o
         e
                      f (x) = x 2
Pr´-requis
  e

Programmation
                      y = f (x)
Fonctionnelle
Structures

POO
                  En Basic
Historique
Objet
                  1 GOTO 4
Classe            2 y=x*x
H´ritage
 e
D´finition
 e
                  3 GOTO 6
VS composition
Constructeurs
                  4 x=2
Abstraction
                  5 GOTO 2
Concepts
avanc´s
     e            6 PRINT y
Membres
statiques
Polymorphisme
Exceptions        En C
M´ta-classes
  e
Ramasse-miettes       double f( double x ) { return x*x ; }
Fin
                      double x = 2.0 ; double y = f( x ) ;
Fonctions

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation     Int´rˆt
                     ee
Fonctionnelle
Structures
                       structure de donn´es + fonctions
                                        e
POO
Historique            biblioth`ques
                              e
Objet
Classe

H´ritage
 e
D´finition
 e
                  Cons´quences amusantes
                      e
VS composition
Constructeurs         y = f( g( x ) ) ;
Abstraction

Concepts              double f( double x ) { return f(x) ; }
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Fonctions

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation     Int´rˆt
                     ee
Fonctionnelle
Structures
                       structure de donn´es + fonctions
                                        e
POO
Historique            biblioth`ques
                              e
Objet
Classe

H´ritage
 e
D´finition
 e
                  Cons´quences amusantes
                      e
VS composition
Constructeurs         y = f( g( x ) ) ;
Abstraction

Concepts              double f( double x ) { return f(x) ; }
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Port´es des variables
                      e

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation     Port´es
                      e
Fonctionnelle
Structures        double a ;
POO
Historique
                  double f( double b ) {
Objet
Classe
                    printf(a) ;
H´ritage
 e                  printf(b) ;
D´finition
 e
VS composition
                    return b+1 ;
Constructeurs
Abstraction       }
Concepts          printf(b) ;
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Structures

POO, h´ritage
      e
                  Probl`me
                       e
Johann Dr´o
         e
                  a,b = f(x,y,z) ;
Pr´-requis
  e

Programmation     D´finition
                   e
Fonctionnelle
Structures
                  struct Type{
POO
Historique          int a ;
Objet
Classe              char b ;
H´ritage
 e                };
D´finition
 e
VS composition
Constructeurs
Abstraction       Utilisation
Concepts
avanc´s
     e
                  Type f( int x, int y, int z ) {
Membres
statiques
                    Type t ; t.a=x*y ; t.b=x+y ;
Polymorphisme
Exceptions          return t ;
M´ta-classes
  e
Ramasse-miettes   }
Fin               Type v = f(x,y,z) ;
Structures

POO, h´ritage
      e
                  Probl`me
                       e
Johann Dr´o
         e
                  a,b = f(x,y,z) ;
Pr´-requis
  e

Programmation     D´finition
                   e
Fonctionnelle
Structures
                  struct Type{
POO
Historique          int a ;
Objet
Classe              char b ;
H´ritage
 e                };
D´finition
 e
VS composition
Constructeurs
Abstraction       Utilisation
Concepts
avanc´s
     e
                  Type f( int x, int y, int z ) {
Membres
statiques
                    Type t ; t.a=x*y ; t.b=x+y ;
Polymorphisme
Exceptions          return t ;
M´ta-classes
  e
Ramasse-miettes   }
Fin               Type v = f(x,y,z) ;
Structures

POO, h´ritage
      e
                  Probl`me
                       e
Johann Dr´o
         e
                  a,b = f(x,y,z) ;
Pr´-requis
  e

Programmation     D´finition
                   e
Fonctionnelle
Structures
                  struct Type{
POO
Historique          int a ;
Objet
Classe              char b ;
H´ritage
 e                };
D´finition
 e
VS composition
Constructeurs
Abstraction       Utilisation
Concepts
avanc´s
     e
                  Type f( int x, int y, int z ) {
Membres
statiques
                    Type t ; t.a=x*y ; t.b=x+y ;
Polymorphisme
Exceptions          return t ;
M´ta-classes
  e
Ramasse-miettes   }
Fin               Type v = f(x,y,z) ;
Plan

POO, h´ritage
      e
                  1   Programmation
Johann Dr´o
         e
                        Programmation fonctionnelle
                        Structures
Pr´-requis
  e
                  2   Programmation orient´e objet
                                          e
Programmation
Fonctionnelle           Historique
Structures
                        Objet
POO
Historique              Classe
Objet
Classe            3   H´ritage
                       e
H´ritage
 e                      D´finition
                          e
D´finition
 e
VS composition          VS composition
Constructeurs
Abstraction             Constructeurs & destructeurs
Concepts
avanc´s
     e
                        Abstraction
Membres
statiques
                  4   Concepts avanc´s
                                    e
Polymorphisme
Exceptions
                        Membres statiques
M´ta-classes
  e
Ramasse-miettes         Polymorphisme
Fin                     Exceptions
Langages

POO, h´ritage
      e
                      1956   :   Fortran
Johann Dr´o
         e
                      1958   :   Lisp
Pr´-requis
  e
                      1964   :   Basic
Programmation
Fonctionnelle         1966   :   Simula
Structures

POO
                      1976   :   SmallTalk
Historique
Objet
                      1983   :   C++, Objective C
Classe
                      1986   :   Eiffel
H´ritage
 e
D´finition
 e                    1990   :   Fortran quasi-objet
VS composition
Constructeurs
Abstraction
                      1991   :   Visual Basic, Python
Concepts              1993   :   Ruby
avanc´s
     e
Membres
statiques
                      1994   :   Perl objet
Polymorphisme
Exceptions
                      1995   :   Java
M´ta-classes
  e
Ramasse-miettes       2000   :   PHP objet
Fin                   2003   :   Fortran objet
Concept de base

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
Fonctionnelle
Structures

POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e            Pourquoi ?
Membres
statiques
Polymorphisme
                      repr´sentation directe, intuitive
                          e
Exceptions
M´ta-classes
  e                   r´utilisation de code
                       e
Ramasse-miettes

Fin                   d´marrage rapide
                       e
Types de langages

POO, h´ritage
      e

Johann Dr´o
         e
                  Langages objets
Pr´-requis
  e
                      d’acteurs (donn´es locales, filtrage de message)
                                     e
Programmation         de frames (gestion de connaissance, prototype)
Fonctionnelle
Structures            de classes (instances, h´ritage, polymorphisme, . . .)
                                              e
POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Types de langages

POO, h´ritage
      e

Johann Dr´o
         e
                  Langages objets
Pr´-requis
  e
                      d’acteurs (donn´es locales, filtrage de message)
                                     e
Programmation         de frames (gestion de connaissance, prototype)
Fonctionnelle
Structures            de classes (instances, h´ritage, polymorphisme, . . .)
                                              e
POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Types de langages

POO, h´ritage
      e

Johann Dr´o
         e
                  Langages objets
Pr´-requis
  e
                      d’acteurs (donn´es locales, filtrage de message)
                                     e
Programmation         de frames (gestion de connaissance, prototype)
Fonctionnelle
Structures            de classes (instances, h´ritage, polymorphisme, . . .)
                                              e
POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Classes

POO, h´ritage
      e
                  Mantra
Johann Dr´o
         e
                     classe = moule
Pr´-requis
  e
                      d´mouler = instancier
                       e
Programmation
Fonctionnelle
Structures

POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Exemple

POO, h´ritage
      e

Johann Dr´o
         e
                  Classe “´tudiant”
                          e
Pr´-requis
  e
                       age
Programmation
Fonctionnelle
Structures
                      sexe
POO                   cheveux
Historique
Objet
Classe
                      ´tat
                      e
H´ritage
 e
D´finition
 e
VS composition
                  Objet “´tudiant”
                         e
Constructeurs
Abstraction           age = 20
Concepts
avanc´s
     e                sexe = F
Membres
statiques             cheveux = blonds
Polymorphisme
Exceptions
M´ta-classes
  e
                      ´tat = endormi
                      e
Ramasse-miettes

Fin
Exemple

POO, h´ritage
      e

Johann Dr´o
         e
                  Classe “´tudiant”
                          e
Pr´-requis
  e
                       age
Programmation
Fonctionnelle
Structures
                      sexe
POO                   cheveux
Historique
Objet
Classe
                      ´tat
                      e
H´ritage
 e
D´finition
 e
VS composition
                  Objet “´tudiant”
                         e
Constructeurs
Abstraction           age = 20
Concepts
avanc´s
     e                sexe = F
Membres
statiques             cheveux = blonds
Polymorphisme
Exceptions
M´ta-classes
  e
                      ´tat = endormi
                      e
Ramasse-miettes

Fin
Vocabulaire

POO, h´ritage
      e

Johann Dr´o
         e        Vocabulaire
Pr´-requis
  e                   instance de classe = objet
Programmation
Fonctionnelle
                      variable membre d’une classe = attribut
Structures
                      fonction membre d’une classe = m´thode
                                                      e
POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e                                       Encapsulation
Ramasse-miettes

Fin
Vocabulaire

POO, h´ritage
      e

Johann Dr´o
         e        Vocabulaire
Pr´-requis
  e                   instance de classe = objet
Programmation
Fonctionnelle
                      variable membre d’une classe = attribut
Structures
                      fonction membre d’une classe = m´thode
                                                      e
POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e                                       Encapsulation
Ramasse-miettes

Fin
Vocabulaire

POO, h´ritage
      e

Johann Dr´o
         e        Vocabulaire
Pr´-requis
  e                   instance de classe = objet
Programmation
Fonctionnelle
                      variable membre d’une classe = attribut
Structures
                      fonction membre d’une classe = m´thode
                                                      e
POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e                                       Encapsulation
Ramasse-miettes

Fin
Plan

POO, h´ritage
      e
                  1   Programmation
Johann Dr´o
         e
                        Programmation fonctionnelle
                        Structures
Pr´-requis
  e
                  2   Programmation orient´e objet
                                          e
Programmation
Fonctionnelle           Historique
Structures
                        Objet
POO
Historique              Classe
Objet
Classe            3   H´ritage
                       e
H´ritage
 e                      D´finition
                          e
D´finition
 e
VS composition          VS composition
Constructeurs
Abstraction             Constructeurs & destructeurs
Concepts
avanc´s
     e
                        Abstraction
Membres
statiques
                  4   Concepts avanc´s
                                    e
Polymorphisme
Exceptions
                        Membres statiques
M´ta-classes
  e
Ramasse-miettes         Polymorphisme
Fin                     Exceptions
G´n´ralisation
                   e e

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
Fonctionnelle
Structures

POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Hierarchie

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
Fonctionnelle
Structures

POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
H´ritage
                   e

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e
                                            Personne
Programmation
                                            #age
Fonctionnelle
                                            #sexe
Structures
                                            #cheveux
POO                                         +opérer()
Historique                                  +teinter()
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs                 Étudiant                   Enseignant
Abstraction
                             #état                       #tolérance
Concepts                     +endormir()                 +enseigner()
avanc´s
     e                       +réveiller()                +craquer()
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
H´ritages
                   e

POO, h´ritage
      e
                                                      Personne
Johann Dr´o
         e

Pr´-requis
  e

Programmation
Fonctionnelle
                                           Employé               Étudiant
Structures

POO
Historique
Objet
Classe
                               Ingénieur        Chercheur
H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts                                                         Doctorant
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e                   Simple
Ramasse-miettes

Fin                   Multiple (` ´viter si possible)
                                ae
Exemple

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e               Java
Programmation
Fonctionnelle
                  class Personne {
Structures
                    void parler() {
POO
Historique
                      System.out.println (quot;Bonjourquot;) ;
Objet
Classe
                    }
H´ritage
 e                }
D´finition
 e
VS composition    class Etudiant extends Personne {}
Constructeurs
Abstraction

Concepts
avanc´s
     e            Etudiant e = new Etudiant() ;
Membres
statiques         e.parler() ;
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Composition

POO, h´ritage
      e

Johann Dr´o
         e                                Gène                     Plante
                                       +séquence                  +génome
Pr´-requis
  e                                    +transcrire()

Programmation
Fonctionnelle
Structures

POO
Historique                                             Cry1(A)
Objet
Classe                                              +résistance
                                                                    OGM
H´ritage
 e
D´finition
 e                                                                +cry1(A)
VS composition                            Barstar                 +barstar
Constructeurs                                                     +antisens
                                         +inhibition
Abstraction

Concepts
avanc´s
     e                      Antisens
Membres                     +blocage
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes                           Pr´f´rer l’h´ritage
                                            ee        e
Fin
Composition

POO, h´ritage
      e

Johann Dr´o
         e                                Gène                     Plante
                                       +séquence                  +génome
Pr´-requis
  e                                    +transcrire()

Programmation
Fonctionnelle
Structures

POO
Historique                                             Cry1(A)
Objet
Classe                                              +résistance
                                                                    OGM
H´ritage
 e
D´finition
 e                                                                +cry1(A)
VS composition                            Barstar                 +barstar
Constructeurs                                                     +antisens
                                         +inhibition
Abstraction

Concepts
avanc´s
     e                      Antisens
Membres                     +blocage
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes                           Pr´f´rer l’h´ritage
                                            ee        e
Fin
Constructeur

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e
                  Probl`me
                         e
Programmation
Fonctionnelle     Initialiser les attributs ` l’instanciation ?
                                            a
Structures

POO
Historique        Python
Objet
Classe
                  e2 = Etudiant(age = 29)
H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction
                  class Etudiant :
Concepts            def init ( self, mon age ) :
avanc´s
     e
Membres
                     self.age = mon age
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Constructeur

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e
                  Probl`me
                         e
Programmation
Fonctionnelle     Initialiser les attributs ` l’instanciation ?
                                            a
Structures

POO
Historique        Python
Objet
Classe
                  e2 = Etudiant(age = 29)
H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction
                  class Etudiant :
Concepts            def init ( self, mon age ) :
avanc´s
     e
Membres
                     self.age = mon age
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Constructeur

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e
                  Probl`me
                         e
Programmation
Fonctionnelle     Initialiser les attributs ` l’instanciation ?
                                            a
Structures

POO
Historique        Python
Objet
Classe
                  e2 = Etudiant(age = 29)
H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction
                  class Etudiant :
Concepts            def init ( self, mon age ) :
avanc´s
     e
Membres
                     self.age = mon age
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Destructeur

POO, h´ritage
      e

Johann Dr´o
         e        Probl`me
                       e
Pr´-requis
  e               Effectuer des op´rations en fin de vie ?
                                 e
Programmation
Fonctionnelle
Structures        Python
POO
Historique
                  def f( x ) :
Objet
Classe
                    e = Etudiant()
H´ritage
 e                print ”Hors de port´e”
                                     e
D´finition
 e
VS composition    f(1)
Constructeurs
Abstraction

Concepts
avanc´s
     e            class Etudiant :
Membres
statiques           def del ( self ) :
Polymorphisme
Exceptions           self.reveiller()
M´ta-classes
  e
Ramasse-miettes      print ”Au revoir”
Fin
Destructeur

POO, h´ritage
      e

Johann Dr´o
         e        Probl`me
                       e
Pr´-requis
  e               Effectuer des op´rations en fin de vie ?
                                 e
Programmation
Fonctionnelle
Structures        Python
POO
Historique
                  def f( x ) :
Objet
Classe
                    e = Etudiant()
H´ritage
 e                print ”Hors de port´e”
                                     e
D´finition
 e
VS composition    f(1)
Constructeurs
Abstraction

Concepts
avanc´s
     e            class Etudiant :
Membres
statiques           def del ( self ) :
Polymorphisme
Exceptions           self.reveiller()
M´ta-classes
  e
Ramasse-miettes      print ”Au revoir”
Fin
Destructeur

POO, h´ritage
      e

Johann Dr´o
         e        Probl`me
                       e
Pr´-requis
  e               Effectuer des op´rations en fin de vie ?
                                 e
Programmation
Fonctionnelle
Structures        Python
POO
Historique
                  def f( x ) :
Objet
Classe
                    e = Etudiant()
H´ritage
 e                print ”Hors de port´e”
                                     e
D´finition
 e
VS composition    f(1)
Constructeurs
Abstraction

Concepts
avanc´s
     e            class Etudiant :
Membres
statiques           def del ( self ) :
Polymorphisme
Exceptions           self.reveiller()
M´ta-classes
  e
Ramasse-miettes      print ”Au revoir”
Fin
M´thodes virtuelles
                   e

POO, h´ritage
      e

Johann Dr´o
         e
                  Personne
Pr´-requis
  e
                      m´moire == 10
                        e
Programmation
Fonctionnelle         apprendre()
Structures

POO
Historique
Objet
                  ´
                  Etudiant
Classe

H´ritage
 e                    m´moire == 1
                        e
D´finition
 e
VS composition        apprendre() # cours
Constructeurs
Abstraction

Concepts
avanc´s
     e
                  Enseignant
Membres
statiques             m´moire == 20
                        e
Polymorphisme
Exceptions
M´ta-classes
  e
                      apprendre() # formation
Ramasse-miettes

Fin
M´thodes virtuelles
                   e

POO, h´ritage
      e

Johann Dr´o
         e
                  Personne
Pr´-requis
  e
                      m´moire == 10
                        e
Programmation
Fonctionnelle         apprendre()
Structures

POO
Historique
Objet
                  ´
                  Etudiant
Classe

H´ritage
 e                    m´moire == 1
                        e
D´finition
 e
VS composition        apprendre() # cours
Constructeurs
Abstraction

Concepts
avanc´s
     e
                  Enseignant
Membres
statiques             m´moire == 20
                        e
Polymorphisme
Exceptions
M´ta-classes
  e
                      apprendre() # formation
Ramasse-miettes

Fin
M´thodes virtuelles
                   e

POO, h´ritage
      e

Johann Dr´o
         e
                  Personne
Pr´-requis
  e
                      m´moire == 10
                        e
Programmation
Fonctionnelle         apprendre()
Structures

POO
Historique
Objet
                  ´
                  Etudiant
Classe

H´ritage
 e                    m´moire == 1
                        e
D´finition
 e
VS composition        apprendre() # cours
Constructeurs
Abstraction

Concepts
avanc´s
     e
                  Enseignant
Membres
statiques             m´moire == 20
                        e
Polymorphisme
Exceptions
M´ta-classes
  e
                      apprendre() # formation
Ramasse-miettes

Fin
Exemple virtuel

POO, h´ritage
      e

Johann Dr´o
         e
                  C++
Pr´-requis
  e

Programmation     class Personne {
Fonctionnelle
Structures
                    public virtual void apprendre() = 0 ;
POO               };
Historique
Objet
                  class Etudiant : public Personne {
Classe
                    public void apprendre() {
H´ritage
 e
D´finition
 e                    this− >photocopier cours() ;
VS composition
Constructeurs       }
Abstraction
                  };
Concepts
avanc´s
     e
Membres
statiques
Polymorphisme                             Classe abstraite
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Interface

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
                   D´finition
                    e
Fonctionnelle
Structures
                       cas particulier de classe abstraite
POO                    toutes m´thodes virtuelles pures
                               e
Historique
Objet
Classe

H´ritage
 e                 Personne
D´finition
 e
VS composition         manger()
Constructeurs
Abstraction            apprendre()
Concepts
avanc´s
     e                 cr´er()
                         e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Interface

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
                   D´finition
                    e
Fonctionnelle
Structures
                       cas particulier de classe abstraite
POO                    toutes m´thodes virtuelles pures
                               e
Historique
Objet
Classe

H´ritage
 e                 Personne
D´finition
 e
VS composition         manger()
Constructeurs
Abstraction            apprendre()
Concepts
avanc´s
     e                 cr´er()
                         e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Interface & collections

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e               Probl`me
                       e
Programmation         salle de cours
Fonctionnelle
Structures            collection de personnes
POO
Historique            classes diff´rentes
                                 e
Objet
Classe

H´ritage
 e                Id´alement
                    e
D´finition
 e
VS composition
Constructeurs
                   ? c = { new Etudiant(), new Etudiant(), new Enseignant() } ;
Abstraction

Concepts
avanc´s
     e            En pratique (C++)
Membres
statiques
Polymorphisme     list<Personne*> c ;
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Interface & collections

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e               Probl`me
                       e
Programmation         salle de cours
Fonctionnelle
Structures            collection de personnes
POO
Historique            classes diff´rentes
                                 e
Objet
Classe

H´ritage
 e                Id´alement
                    e
D´finition
 e
VS composition
Constructeurs
                   ? c = { new Etudiant(), new Etudiant(), new Enseignant() } ;
Abstraction

Concepts
avanc´s
     e            En pratique (C++)
Membres
statiques
Polymorphisme     list<Personne*> c ;
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Interface & collections

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e               Probl`me
                       e
Programmation         salle de cours
Fonctionnelle
Structures            collection de personnes
POO
Historique            classes diff´rentes
                                 e
Objet
Classe

H´ritage
 e                Id´alement
                    e
D´finition
 e
VS composition
Constructeurs
                   ? c = { new Etudiant(), new Etudiant(), new Enseignant() } ;
Abstraction

Concepts
avanc´s
     e            En pratique (C++)
Membres
statiques
Polymorphisme     list<Personne*> c ;
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Interface & collections

POO, h´ritage
      e

Johann Dr´o
         e
                  Attention
Pr´-requis
  e
                      acc`s uniquement aux m´thodes de l’interface
                          e                 e
Programmation
Fonctionnelle
Structures
                      m´thodes des sous-classes inaccessibles
                       e
POO
Historique
Objet                 c[0]− >apprendre() ; // OUI
Classe

H´ritage
 e                    c[2]− >boire() ; // NON
D´finition
 e
VS composition
Constructeurs
Abstraction
                  Interfaces
Concepts
avanc´s
     e
                       “quoi”
Membres
statiques             sous-classes = “comment”
Polymorphisme
Exceptions
M´ta-classes
  e
                      saine habitude
Ramasse-miettes

Fin
Interface & collections

POO, h´ritage
      e

Johann Dr´o
         e
                  Attention
Pr´-requis
  e
                      acc`s uniquement aux m´thodes de l’interface
                          e                 e
Programmation
Fonctionnelle
Structures
                      m´thodes des sous-classes inaccessibles
                       e
POO
Historique
Objet                 c[0]− >apprendre() ; // OUI
Classe

H´ritage
 e                    c[2]− >boire() ; // NON
D´finition
 e
VS composition
Constructeurs
Abstraction
                  Interfaces
Concepts
avanc´s
     e
                       “quoi”
Membres
statiques             sous-classes = “comment”
Polymorphisme
Exceptions
M´ta-classes
  e
                      saine habitude
Ramasse-miettes

Fin
Interface & collections

POO, h´ritage
      e

Johann Dr´o
         e
                  Attention
Pr´-requis
  e
                      acc`s uniquement aux m´thodes de l’interface
                          e                 e
Programmation
Fonctionnelle
Structures
                      m´thodes des sous-classes inaccessibles
                       e
POO
Historique
Objet                 c[0]− >apprendre() ; // OUI
Classe

H´ritage
 e                    c[2]− >boire() ; // NON
D´finition
 e
VS composition
Constructeurs
Abstraction
                  Interfaces
Concepts
avanc´s
     e
                       “quoi”
Membres
statiques             sous-classes = “comment”
Polymorphisme
Exceptions
M´ta-classes
  e
                      saine habitude
Ramasse-miettes

Fin
Plan

POO, h´ritage
      e
                  1   Programmation
Johann Dr´o
         e
                        Programmation fonctionnelle
                        Structures
Pr´-requis
  e
                  2   Programmation orient´e objet
                                          e
Programmation
Fonctionnelle           Historique
Structures
                        Objet
POO
Historique              Classe
Objet
Classe            3   H´ritage
                       e
H´ritage
 e                      D´finition
                          e
D´finition
 e
VS composition          VS composition
Constructeurs
Abstraction             Constructeurs & destructeurs
Concepts
avanc´s
     e
                        Abstraction
Membres
statiques
                  4   Concepts avanc´s
                                    e
Polymorphisme
Exceptions
                        Membres statiques
M´ta-classes
  e
Ramasse-miettes         Polymorphisme
Fin                     Exceptions
Membres statiques

POO, h´ritage
      e

Johann Dr´o
         e
                  ´
                  Etudiant
Pr´-requis
  e
                      age
Programmation
Fonctionnelle
Structures
                      sexe
POO                   esprit de corps
Historique
Objet
Classe

H´ritage
 e                Attribut statique (= de classe)
D´finition
 e
VS composition        Entit´ unique pour tous les objets
                           e
Constructeurs
Abstraction           Modification simultan´e
                                          e
Concepts
avanc´s
     e
Membres
statiques         M´thode statique (= de classe)
                   e
Polymorphisme
Exceptions
M´ta-classes
  e
                      Ne peut utiliser les attributs
Ramasse-miettes

Fin
Membres statiques

POO, h´ritage
      e

Johann Dr´o
         e
                  ´
                  Etudiant
Pr´-requis
  e
                      age
Programmation
Fonctionnelle
Structures
                      sexe
POO                   esprit de corps
Historique
Objet
Classe

H´ritage
 e                Attribut statique (= de classe)
D´finition
 e
VS composition        Entit´ unique pour tous les objets
                           e
Constructeurs
Abstraction           Modification simultan´e
                                          e
Concepts
avanc´s
     e
Membres
statiques         M´thode statique (= de classe)
                   e
Polymorphisme
Exceptions
M´ta-classes
  e
                      Ne peut utiliser les attributs
Ramasse-miettes

Fin
Membres statiques

POO, h´ritage
      e

Johann Dr´o
         e
                  ´
                  Etudiant
Pr´-requis
  e
                      age
Programmation
Fonctionnelle
Structures
                      sexe
POO                   esprit de corps
Historique
Objet
Classe

H´ritage
 e                Attribut statique (= de classe)
D´finition
 e
VS composition        Entit´ unique pour tous les objets
                           e
Constructeurs
Abstraction           Modification simultan´e
                                          e
Concepts
avanc´s
     e
Membres
statiques         M´thode statique (= de classe)
                   e
Polymorphisme
Exceptions
M´ta-classes
  e
                      Ne peut utiliser les attributs
Ramasse-miettes

Fin
Exemple

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
                  Python
Fonctionnelle
Structures
                  class Etudiant :
POO                  esprit corps = 0
Historique
Objet
Classe
                     def      init (self) :
H´ritage
 e
D´finition
 e                         self.age = 10
VS composition
Constructeurs
Abstraction

Concepts
                           print self.age
avanc´s
     e                     print Etudiant.esprit corps
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Polymorphisme

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
Fonctionnelle
Structures
                  D´finition
                   e
POO
Historique
Objet
                      surcharge
Classe
                      plusieurs m´thodes de mˆme nom
                                 e           e
H´ritage
 e
D´finition
 e
VS composition
                      signature = types de renvoi & arguments
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Exemple

POO, h´ritage
      e
                  C++
Johann Dr´o
         e
                  class Etudiant {
Pr´-requis
  e
                     int age ;
Programmation
Fonctionnelle
                     bool sexe ;
Structures
                     void Etudiant()
POO
Historique
                         : age(20), sexe(1) {}
Objet
Classe
                     void Etudiant( int age )
H´ritage
 e                       : age( age), sexe(1) {}
D´finition
 e
VS composition       void Etudiant( int age, bool sexe )
Constructeurs
Abstraction              : age( age), sexe( sexe) {}
Concepts          }
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
                  e = new Etudiant() ;
M´ta-classes
  e
Ramasse-miettes   e = new Etudiant( 20 ) ;
Fin               e = new Etudiant( 20, 1 ) ;
Exemple

POO, h´ritage
      e
                  C++
Johann Dr´o
         e
                  class Etudiant {
Pr´-requis
  e
                     int age ;
Programmation
Fonctionnelle
                     bool sexe ;
Structures
                     void Etudiant()
POO
Historique
                         : age(20), sexe(1) {}
Objet
Classe
                     void Etudiant( int age )
H´ritage
 e                       : age( age), sexe(1) {}
D´finition
 e
VS composition       void Etudiant( int age, bool sexe )
Constructeurs
Abstraction              : age( age), sexe( sexe) {}
Concepts          }
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
                  e = new Etudiant() ;
M´ta-classes
  e
Ramasse-miettes   e = new Etudiant( 20 ) ;
Fin               e = new Etudiant( 20, 1 ) ;
Exceptions

POO, h´ritage
      e
                  Exception = erreur
Johann Dr´o
         e
                      Probl`mes avec les valeurs de retour
                           e
Pr´-requis
  e

Programmation
                       Syst`me de “lancement” d’exceptions
                           e
Fonctionnelle
Structures
                       Exception = objet (informations sur l’erreur)
POO
Historique
Objet
Classe
                  `
                  A l’ancienne
                                                                    Gène                     Plante
H´ritage
 e                if( f( g( h( x ) ) ) ) :                       +séquence                  +génome
D´finition
 e                                                               +transcrire()

VS composition      print ”ok”
Constructeurs
Abstraction

Concepts                                                                         Cry1(A)
avanc´s
     e            Proprement                                                  +résistance
                                                                                              OGM
Membres
statiques         try :                                             Barstar
                                                                                            +cry1(A)
                                                                                            +barstar
Polymorphisme
Exceptions         y = f( g( h( x ) ) ) )                          +inhibition
                                                                                            +antisens


M´ta-classes
  e
Ramasse-miettes   except Error,e :                    Antisens
                                                      +blocage
Fin                print e
Exceptions

POO, h´ritage
      e
                  Exception = erreur
Johann Dr´o
         e
                      Probl`mes avec les valeurs de retour
                           e
Pr´-requis
  e

Programmation
                       Syst`me de “lancement” d’exceptions
                           e
Fonctionnelle
Structures
                       Exception = objet (informations sur l’erreur)
POO
Historique
Objet
Classe
                  `
                  A l’ancienne
                                                                    Gène                     Plante
H´ritage
 e                if( f( g( h( x ) ) ) ) :                       +séquence                  +génome
D´finition
 e                                                               +transcrire()

VS composition      print ”ok”
Constructeurs
Abstraction

Concepts                                                                         Cry1(A)
avanc´s
     e            Proprement                                                  +résistance
                                                                                              OGM
Membres
statiques         try :                                             Barstar
                                                                                            +cry1(A)
                                                                                            +barstar
Polymorphisme
Exceptions         y = f( g( h( x ) ) ) )                          +inhibition
                                                                                            +antisens


M´ta-classes
  e
Ramasse-miettes   except Error,e :                    Antisens
                                                      +blocage
Fin                print e
Exceptions

POO, h´ritage
      e
                  Exception = erreur
Johann Dr´o
         e
                      Probl`mes avec les valeurs de retour
                           e
Pr´-requis
  e

Programmation
                       Syst`me de “lancement” d’exceptions
                           e
Fonctionnelle
Structures
                       Exception = objet (informations sur l’erreur)
POO
Historique
Objet
Classe
                  `
                  A l’ancienne
                                                                    Gène                     Plante
H´ritage
 e                if( f( g( h( x ) ) ) ) :                       +séquence                  +génome
D´finition
 e                                                               +transcrire()

VS composition      print ”ok”
Constructeurs
Abstraction

Concepts                                                                         Cry1(A)
avanc´s
     e            Proprement                                                  +résistance
                                                                                              OGM
Membres
statiques         try :                                             Barstar
                                                                                            +cry1(A)
                                                                                            +barstar
Polymorphisme
Exceptions         y = f( g( h( x ) ) ) )                          +inhibition
                                                                                            +antisens


M´ta-classes
  e
Ramasse-miettes   except Error,e :                    Antisens
                                                      +blocage
Fin                print e
Exemple

POO, h´ritage
      e

Johann Dr´o
         e        Python
Pr´-requis
  e               if( a == 1 ) :
Programmation         raise RuntimeError(”Pas bien”)
Fonctionnelle
Structures
                  else :
POO                   ...
Historique
Objet
Classe
                  try :
H´ritage
 e
D´finition
 e                    variable
VS composition
Constructeurs     except NameError :
Abstraction

Concepts
                      print ”N’existe pas”
avanc´s
     e            else :
Membres
statiques
Polymorphisme
                      print ”Existe :”, variable
Exceptions
M´ta-classes
  e
                  finally :
Ramasse-miettes
                      print ”Test´”
                                 e
Fin
Exemple

POO, h´ritage
      e

Johann Dr´o
         e        Python
Pr´-requis
  e               if( a == 1 ) :
Programmation         raise RuntimeError(”Pas bien”)
Fonctionnelle
Structures
                  else :
POO                   ...
Historique
Objet
Classe
                  try :
H´ritage
 e
D´finition
 e                    variable
VS composition
Constructeurs     except NameError :
Abstraction

Concepts
                      print ”N’existe pas”
avanc´s
     e            else :
Membres
statiques
Polymorphisme
                      print ”Existe :”, variable
Exceptions
M´ta-classes
  e
                  finally :
Ramasse-miettes
                      print ”Test´”
                                 e
Fin
M´ta-classes
                   e

POO, h´ritage
      e

Johann Dr´o
         e
                  M´ta-classes
                   e
Pr´-requis
  e                   M´ta-classes = presse pour fabriquer des moules
                        e
Programmation
Fonctionnelle          M´ta-classe
                        e             → classes → objets
Structures

POO
Historique        Utilisation
Objet
Classe
                        Ajouter des fonctions au
H´ritage
 e
D´finition
 e
                        langage
VS composition
Constructeurs         Tra¸age des appels
                         c
Abstraction

Concepts              S´rialisation
                       e
avanc´s
     e
Membres
statiques
                      Programmation orient´e
                                          e
Polymorphisme
Exceptions
                      aspects
M´ta-classes
  e
Ramasse-miettes       etc.
Fin
M´ta-classes
                   e

POO, h´ritage
      e

Johann Dr´o
         e
                  M´ta-classes
                   e
Pr´-requis
  e                   M´ta-classes = presse pour fabriquer des moules
                        e
Programmation
Fonctionnelle          M´ta-classe
                        e             → classes → objets
Structures

POO
Historique        Utilisation
Objet
Classe
                        Ajouter des fonctions au
H´ritage
 e
D´finition
 e
                        langage
VS composition
Constructeurs         Tra¸age des appels
                         c
Abstraction

Concepts              S´rialisation
                       e
avanc´s
     e
Membres
statiques
                      Programmation orient´e
                                          e
Polymorphisme
Exceptions
                      aspects
M´ta-classes
  e
Ramasse-miettes       etc.
Fin
Ramasse-miettes

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
                  C++
Fonctionnelle
Structures
                  A *a = new A() ; delete a ;
POO
Historique
Objet             Garbage collector
Classe

H´ritage
 e                    Lib´ration automatique de la m´moire
                         e                          e
D´finition
 e
VS composition        Pr´vient :
                        e
Constructeurs
Abstraction                acc`s ` une zone non allou´e
                               e a                     e
Concepts                   lib´ration d’une zone d´j` lib´r´e
                              e                   ea ee
avanc´s
     e
Membres
                           fuites m´moire
                                    e
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
Ramasse-miettes

POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
                  C++
Fonctionnelle
Structures
                  A *a = new A() ; delete a ;
POO
Historique
Objet             Garbage collector
Classe

H´ritage
 e                    Lib´ration automatique de la m´moire
                         e                          e
D´finition
 e
VS composition        Pr´vient :
                        e
Constructeurs
Abstraction                acc`s ` une zone non allou´e
                               e a                     e
Concepts                   lib´ration d’une zone d´j` lib´r´e
                              e                   ea ee
avanc´s
     e
Membres
                           fuites m´moire
                                    e
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
Fonctionnelle
Structures

POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin
POO, h´ritage
      e

Johann Dr´o
         e

Pr´-requis
  e

Programmation
Fonctionnelle
Structures

POO
Historique
Objet
Classe

H´ritage
 e
D´finition
 e
VS composition
Constructeurs
Abstraction

Concepts
avanc´s
     e
Membres
statiques
Polymorphisme
Exceptions
M´ta-classes
  e
Ramasse-miettes

Fin

Más contenido relacionado

Destacado

Exceptions and Interrupts on Cortex-M
Exceptions and Interrupts on Cortex-MExceptions and Interrupts on Cortex-M
Exceptions and Interrupts on Cortex-MStephan Cadene
 
Cypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-pythonCypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-pythonCERTyou Formation
 
OpenStack Havana, tour d'horizon
OpenStack Havana, tour d'horizonOpenStack Havana, tour d'horizon
OpenStack Havana, tour d'horizonYannick Foeillet
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingStephan Cadene
 
SeSQL : un moteur de recherche en Python et PostgreSQL
SeSQL : un moteur de recherche en Python et PostgreSQLSeSQL : un moteur de recherche en Python et PostgreSQL
SeSQL : un moteur de recherche en Python et PostgreSQLParis, France
 
Les langages de programmation sont trop compliqués
Les langages de programmation sont trop compliquésLes langages de programmation sont trop compliqués
Les langages de programmation sont trop compliquésmercury_wood
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Pythonyboussard
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011agnes_crepet
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionTremeur Balbous
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec OdooHassan WAHSISS
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonMohammed TAMALI
 
Responsables formacion octubre 2014
Responsables formacion octubre 2014Responsables formacion octubre 2014
Responsables formacion octubre 2014marcoremon
 

Destacado (20)

Exceptions and Interrupts on Cortex-M
Exceptions and Interrupts on Cortex-MExceptions and Interrupts on Cortex-M
Exceptions and Interrupts on Cortex-M
 
Méthodes agiles
Méthodes agilesMéthodes agiles
Méthodes agiles
 
Cypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-pythonCypyth formation-programmation-objet-en-langage-python
Cypyth formation-programmation-objet-en-langage-python
 
OpenStack Havana, tour d'horizon
OpenStack Havana, tour d'horizonOpenStack Havana, tour d'horizon
OpenStack Havana, tour d'horizon
 
La sabiduría
La sabiduríaLa sabiduría
La sabiduría
 
Solucion y Psicologia del Bienestar
Solucion y Psicologia del BienestarSolucion y Psicologia del Bienestar
Solucion y Psicologia del Bienestar
 
Python debugger
Python debuggerPython debugger
Python debugger
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
 
SeSQL : un moteur de recherche en Python et PostgreSQL
SeSQL : un moteur de recherche en Python et PostgreSQLSeSQL : un moteur de recherche en Python et PostgreSQL
SeSQL : un moteur de recherche en Python et PostgreSQL
 
Les langages de programmation sont trop compliqués
Les langages de programmation sont trop compliquésLes langages de programmation sont trop compliqués
Les langages de programmation sont trop compliqués
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - Introduction
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec Odoo
 
UML+Python
UML+PythonUML+Python
UML+Python
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec python
 
Responsables formacion octubre 2014
Responsables formacion octubre 2014Responsables formacion octubre 2014
Responsables formacion octubre 2014
 
Que Es El Universo
Que Es El UniversoQue Es El Universo
Que Es El Universo
 
Caves
CavesCaves
Caves
 

Último

Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 

Último (16)

Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 

Introduction à la POO - cours 1h

  • 1. POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Fonctionnelle Structures Programmation orient´e objet : l’h´ritage e e POO Historique Objet Classe H´ritage e Johann Dr´o e D´finition e VS composition Constructeurs Abstraction Concepts 28 septembre 2007 avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 2. POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Fonctionnelle Structures POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 3. Plan POO, h´ritage e 1 Programmation Johann Dr´o e Programmation fonctionnelle Structures Pr´-requis e 2 Programmation orient´e objet e Programmation Fonctionnelle Historique Structures Objet POO Historique Classe Objet Classe 3 H´ritage e H´ritage e D´finition e D´finition e VS composition VS composition Constructeurs Abstraction Constructeurs & destructeurs Concepts avanc´s e Abstraction Membres statiques 4 Concepts avanc´s e Polymorphisme Exceptions Membres statiques M´ta-classes e Ramasse-miettes Polymorphisme Fin Exceptions
  • 4. Pr´-requis e POO, h´ritage e Johann Dr´o e Pr´-requis e Prog. imp´rative e Programmation Fonctionnelle Variables Structures POO Branchements conditionnels Historique Objet Boucles Classe H´ritage e M´moire (pointeurs) e D´finition e VS composition Constructeurs Abstraction Introduction Concepts Cours pr´liminaire e avanc´s e Membres statiques approfondissements. . . Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 5. Pr´-requis e POO, h´ritage e Johann Dr´o e Pr´-requis e Prog. imp´rative e Programmation Fonctionnelle Variables Structures POO Branchements conditionnels Historique Objet Boucles Classe H´ritage e M´moire (pointeurs) e D´finition e VS composition Constructeurs Abstraction Introduction Concepts Cours pr´liminaire e avanc´s e Membres statiques approfondissements. . . Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 6. Plan POO, h´ritage e 1 Programmation Johann Dr´o e Programmation fonctionnelle Structures Pr´-requis e 2 Programmation orient´e objet e Programmation Fonctionnelle Historique Structures Objet POO Historique Classe Objet Classe 3 H´ritage e H´ritage e D´finition e D´finition e VS composition VS composition Constructeurs Abstraction Constructeurs & destructeurs Concepts avanc´s e Abstraction Membres statiques 4 Concepts avanc´s e Polymorphisme Exceptions Membres statiques M´ta-classes e Ramasse-miettes Polymorphisme Fin Exceptions
  • 7. Fonctionnelle POO, h´ritage e Fonction math´matique e Johann Dr´o e f (x) = x 2 Pr´-requis e Programmation y = f (x) Fonctionnelle Structures POO En Basic Historique Objet 1 GOTO 4 Classe 2 y=x*x H´ritage e D´finition e 3 GOTO 6 VS composition Constructeurs 4 x=2 Abstraction 5 GOTO 2 Concepts avanc´s e 6 PRINT y Membres statiques Polymorphisme Exceptions En C M´ta-classes e Ramasse-miettes double f( double x ) { return x*x ; } Fin double x = 2.0 ; double y = f( x ) ;
  • 8. Fonctionnelle POO, h´ritage e Fonction math´matique e Johann Dr´o e f (x) = x 2 Pr´-requis e Programmation y = f (x) Fonctionnelle Structures POO En Basic Historique Objet 1 GOTO 4 Classe 2 y=x*x H´ritage e D´finition e 3 GOTO 6 VS composition Constructeurs 4 x=2 Abstraction 5 GOTO 2 Concepts avanc´s e 6 PRINT y Membres statiques Polymorphisme Exceptions En C M´ta-classes e Ramasse-miettes double f( double x ) { return x*x ; } Fin double x = 2.0 ; double y = f( x ) ;
  • 9. Fonctionnelle POO, h´ritage e Fonction math´matique e Johann Dr´o e f (x) = x 2 Pr´-requis e Programmation y = f (x) Fonctionnelle Structures POO En Basic Historique Objet 1 GOTO 4 Classe 2 y=x*x H´ritage e D´finition e 3 GOTO 6 VS composition Constructeurs 4 x=2 Abstraction 5 GOTO 2 Concepts avanc´s e 6 PRINT y Membres statiques Polymorphisme Exceptions En C M´ta-classes e Ramasse-miettes double f( double x ) { return x*x ; } Fin double x = 2.0 ; double y = f( x ) ;
  • 10. Fonctions POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Int´rˆt ee Fonctionnelle Structures structure de donn´es + fonctions e POO Historique biblioth`ques e Objet Classe H´ritage e D´finition e Cons´quences amusantes e VS composition Constructeurs y = f( g( x ) ) ; Abstraction Concepts double f( double x ) { return f(x) ; } avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 11. Fonctions POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Int´rˆt ee Fonctionnelle Structures structure de donn´es + fonctions e POO Historique biblioth`ques e Objet Classe H´ritage e D´finition e Cons´quences amusantes e VS composition Constructeurs y = f( g( x ) ) ; Abstraction Concepts double f( double x ) { return f(x) ; } avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 12. Port´es des variables e POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Port´es e Fonctionnelle Structures double a ; POO Historique double f( double b ) { Objet Classe printf(a) ; H´ritage e printf(b) ; D´finition e VS composition return b+1 ; Constructeurs Abstraction } Concepts printf(b) ; avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 13. Structures POO, h´ritage e Probl`me e Johann Dr´o e a,b = f(x,y,z) ; Pr´-requis e Programmation D´finition e Fonctionnelle Structures struct Type{ POO Historique int a ; Objet Classe char b ; H´ritage e }; D´finition e VS composition Constructeurs Abstraction Utilisation Concepts avanc´s e Type f( int x, int y, int z ) { Membres statiques Type t ; t.a=x*y ; t.b=x+y ; Polymorphisme Exceptions return t ; M´ta-classes e Ramasse-miettes } Fin Type v = f(x,y,z) ;
  • 14. Structures POO, h´ritage e Probl`me e Johann Dr´o e a,b = f(x,y,z) ; Pr´-requis e Programmation D´finition e Fonctionnelle Structures struct Type{ POO Historique int a ; Objet Classe char b ; H´ritage e }; D´finition e VS composition Constructeurs Abstraction Utilisation Concepts avanc´s e Type f( int x, int y, int z ) { Membres statiques Type t ; t.a=x*y ; t.b=x+y ; Polymorphisme Exceptions return t ; M´ta-classes e Ramasse-miettes } Fin Type v = f(x,y,z) ;
  • 15. Structures POO, h´ritage e Probl`me e Johann Dr´o e a,b = f(x,y,z) ; Pr´-requis e Programmation D´finition e Fonctionnelle Structures struct Type{ POO Historique int a ; Objet Classe char b ; H´ritage e }; D´finition e VS composition Constructeurs Abstraction Utilisation Concepts avanc´s e Type f( int x, int y, int z ) { Membres statiques Type t ; t.a=x*y ; t.b=x+y ; Polymorphisme Exceptions return t ; M´ta-classes e Ramasse-miettes } Fin Type v = f(x,y,z) ;
  • 16. Plan POO, h´ritage e 1 Programmation Johann Dr´o e Programmation fonctionnelle Structures Pr´-requis e 2 Programmation orient´e objet e Programmation Fonctionnelle Historique Structures Objet POO Historique Classe Objet Classe 3 H´ritage e H´ritage e D´finition e D´finition e VS composition VS composition Constructeurs Abstraction Constructeurs & destructeurs Concepts avanc´s e Abstraction Membres statiques 4 Concepts avanc´s e Polymorphisme Exceptions Membres statiques M´ta-classes e Ramasse-miettes Polymorphisme Fin Exceptions
  • 17. Langages POO, h´ritage e 1956 : Fortran Johann Dr´o e 1958 : Lisp Pr´-requis e 1964 : Basic Programmation Fonctionnelle 1966 : Simula Structures POO 1976 : SmallTalk Historique Objet 1983 : C++, Objective C Classe 1986 : Eiffel H´ritage e D´finition e 1990 : Fortran quasi-objet VS composition Constructeurs Abstraction 1991 : Visual Basic, Python Concepts 1993 : Ruby avanc´s e Membres statiques 1994 : Perl objet Polymorphisme Exceptions 1995 : Java M´ta-classes e Ramasse-miettes 2000 : PHP objet Fin 2003 : Fortran objet
  • 18. Concept de base POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Fonctionnelle Structures POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Pourquoi ? Membres statiques Polymorphisme repr´sentation directe, intuitive e Exceptions M´ta-classes e r´utilisation de code e Ramasse-miettes Fin d´marrage rapide e
  • 19. Types de langages POO, h´ritage e Johann Dr´o e Langages objets Pr´-requis e d’acteurs (donn´es locales, filtrage de message) e Programmation de frames (gestion de connaissance, prototype) Fonctionnelle Structures de classes (instances, h´ritage, polymorphisme, . . .) e POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 20. Types de langages POO, h´ritage e Johann Dr´o e Langages objets Pr´-requis e d’acteurs (donn´es locales, filtrage de message) e Programmation de frames (gestion de connaissance, prototype) Fonctionnelle Structures de classes (instances, h´ritage, polymorphisme, . . .) e POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 21. Types de langages POO, h´ritage e Johann Dr´o e Langages objets Pr´-requis e d’acteurs (donn´es locales, filtrage de message) e Programmation de frames (gestion de connaissance, prototype) Fonctionnelle Structures de classes (instances, h´ritage, polymorphisme, . . .) e POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 22. Classes POO, h´ritage e Mantra Johann Dr´o e classe = moule Pr´-requis e d´mouler = instancier e Programmation Fonctionnelle Structures POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 23. Exemple POO, h´ritage e Johann Dr´o e Classe “´tudiant” e Pr´-requis e age Programmation Fonctionnelle Structures sexe POO cheveux Historique Objet Classe ´tat e H´ritage e D´finition e VS composition Objet “´tudiant” e Constructeurs Abstraction age = 20 Concepts avanc´s e sexe = F Membres statiques cheveux = blonds Polymorphisme Exceptions M´ta-classes e ´tat = endormi e Ramasse-miettes Fin
  • 24. Exemple POO, h´ritage e Johann Dr´o e Classe “´tudiant” e Pr´-requis e age Programmation Fonctionnelle Structures sexe POO cheveux Historique Objet Classe ´tat e H´ritage e D´finition e VS composition Objet “´tudiant” e Constructeurs Abstraction age = 20 Concepts avanc´s e sexe = F Membres statiques cheveux = blonds Polymorphisme Exceptions M´ta-classes e ´tat = endormi e Ramasse-miettes Fin
  • 25. Vocabulaire POO, h´ritage e Johann Dr´o e Vocabulaire Pr´-requis e instance de classe = objet Programmation Fonctionnelle variable membre d’une classe = attribut Structures fonction membre d’une classe = m´thode e POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Encapsulation Ramasse-miettes Fin
  • 26. Vocabulaire POO, h´ritage e Johann Dr´o e Vocabulaire Pr´-requis e instance de classe = objet Programmation Fonctionnelle variable membre d’une classe = attribut Structures fonction membre d’une classe = m´thode e POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Encapsulation Ramasse-miettes Fin
  • 27. Vocabulaire POO, h´ritage e Johann Dr´o e Vocabulaire Pr´-requis e instance de classe = objet Programmation Fonctionnelle variable membre d’une classe = attribut Structures fonction membre d’une classe = m´thode e POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Encapsulation Ramasse-miettes Fin
  • 28. Plan POO, h´ritage e 1 Programmation Johann Dr´o e Programmation fonctionnelle Structures Pr´-requis e 2 Programmation orient´e objet e Programmation Fonctionnelle Historique Structures Objet POO Historique Classe Objet Classe 3 H´ritage e H´ritage e D´finition e D´finition e VS composition VS composition Constructeurs Abstraction Constructeurs & destructeurs Concepts avanc´s e Abstraction Membres statiques 4 Concepts avanc´s e Polymorphisme Exceptions Membres statiques M´ta-classes e Ramasse-miettes Polymorphisme Fin Exceptions
  • 29. G´n´ralisation e e POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Fonctionnelle Structures POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 30. Hierarchie POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Fonctionnelle Structures POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 31. H´ritage e POO, h´ritage e Johann Dr´o e Pr´-requis e Personne Programmation #age Fonctionnelle #sexe Structures #cheveux POO +opérer() Historique +teinter() Objet Classe H´ritage e D´finition e VS composition Constructeurs Étudiant Enseignant Abstraction #état #tolérance Concepts +endormir() +enseigner() avanc´s e +réveiller() +craquer() Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 32. H´ritages e POO, h´ritage e Personne Johann Dr´o e Pr´-requis e Programmation Fonctionnelle Employé Étudiant Structures POO Historique Objet Classe Ingénieur Chercheur H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts Doctorant avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Simple Ramasse-miettes Fin Multiple (` ´viter si possible) ae
  • 33. Exemple POO, h´ritage e Johann Dr´o e Pr´-requis e Java Programmation Fonctionnelle class Personne { Structures void parler() { POO Historique System.out.println (quot;Bonjourquot;) ; Objet Classe } H´ritage e } D´finition e VS composition class Etudiant extends Personne {} Constructeurs Abstraction Concepts avanc´s e Etudiant e = new Etudiant() ; Membres statiques e.parler() ; Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 34. Composition POO, h´ritage e Johann Dr´o e Gène Plante +séquence +génome Pr´-requis e +transcrire() Programmation Fonctionnelle Structures POO Historique Cry1(A) Objet Classe +résistance OGM H´ritage e D´finition e +cry1(A) VS composition Barstar +barstar Constructeurs +antisens +inhibition Abstraction Concepts avanc´s e Antisens Membres +blocage statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Pr´f´rer l’h´ritage ee e Fin
  • 35. Composition POO, h´ritage e Johann Dr´o e Gène Plante +séquence +génome Pr´-requis e +transcrire() Programmation Fonctionnelle Structures POO Historique Cry1(A) Objet Classe +résistance OGM H´ritage e D´finition e +cry1(A) VS composition Barstar +barstar Constructeurs +antisens +inhibition Abstraction Concepts avanc´s e Antisens Membres +blocage statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Pr´f´rer l’h´ritage ee e Fin
  • 36. Constructeur POO, h´ritage e Johann Dr´o e Pr´-requis e Probl`me e Programmation Fonctionnelle Initialiser les attributs ` l’instanciation ? a Structures POO Historique Python Objet Classe e2 = Etudiant(age = 29) H´ritage e D´finition e VS composition Constructeurs Abstraction class Etudiant : Concepts def init ( self, mon age ) : avanc´s e Membres self.age = mon age statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 37. Constructeur POO, h´ritage e Johann Dr´o e Pr´-requis e Probl`me e Programmation Fonctionnelle Initialiser les attributs ` l’instanciation ? a Structures POO Historique Python Objet Classe e2 = Etudiant(age = 29) H´ritage e D´finition e VS composition Constructeurs Abstraction class Etudiant : Concepts def init ( self, mon age ) : avanc´s e Membres self.age = mon age statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 38. Constructeur POO, h´ritage e Johann Dr´o e Pr´-requis e Probl`me e Programmation Fonctionnelle Initialiser les attributs ` l’instanciation ? a Structures POO Historique Python Objet Classe e2 = Etudiant(age = 29) H´ritage e D´finition e VS composition Constructeurs Abstraction class Etudiant : Concepts def init ( self, mon age ) : avanc´s e Membres self.age = mon age statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 39. Destructeur POO, h´ritage e Johann Dr´o e Probl`me e Pr´-requis e Effectuer des op´rations en fin de vie ? e Programmation Fonctionnelle Structures Python POO Historique def f( x ) : Objet Classe e = Etudiant() H´ritage e print ”Hors de port´e” e D´finition e VS composition f(1) Constructeurs Abstraction Concepts avanc´s e class Etudiant : Membres statiques def del ( self ) : Polymorphisme Exceptions self.reveiller() M´ta-classes e Ramasse-miettes print ”Au revoir” Fin
  • 40. Destructeur POO, h´ritage e Johann Dr´o e Probl`me e Pr´-requis e Effectuer des op´rations en fin de vie ? e Programmation Fonctionnelle Structures Python POO Historique def f( x ) : Objet Classe e = Etudiant() H´ritage e print ”Hors de port´e” e D´finition e VS composition f(1) Constructeurs Abstraction Concepts avanc´s e class Etudiant : Membres statiques def del ( self ) : Polymorphisme Exceptions self.reveiller() M´ta-classes e Ramasse-miettes print ”Au revoir” Fin
  • 41. Destructeur POO, h´ritage e Johann Dr´o e Probl`me e Pr´-requis e Effectuer des op´rations en fin de vie ? e Programmation Fonctionnelle Structures Python POO Historique def f( x ) : Objet Classe e = Etudiant() H´ritage e print ”Hors de port´e” e D´finition e VS composition f(1) Constructeurs Abstraction Concepts avanc´s e class Etudiant : Membres statiques def del ( self ) : Polymorphisme Exceptions self.reveiller() M´ta-classes e Ramasse-miettes print ”Au revoir” Fin
  • 42. M´thodes virtuelles e POO, h´ritage e Johann Dr´o e Personne Pr´-requis e m´moire == 10 e Programmation Fonctionnelle apprendre() Structures POO Historique Objet ´ Etudiant Classe H´ritage e m´moire == 1 e D´finition e VS composition apprendre() # cours Constructeurs Abstraction Concepts avanc´s e Enseignant Membres statiques m´moire == 20 e Polymorphisme Exceptions M´ta-classes e apprendre() # formation Ramasse-miettes Fin
  • 43. M´thodes virtuelles e POO, h´ritage e Johann Dr´o e Personne Pr´-requis e m´moire == 10 e Programmation Fonctionnelle apprendre() Structures POO Historique Objet ´ Etudiant Classe H´ritage e m´moire == 1 e D´finition e VS composition apprendre() # cours Constructeurs Abstraction Concepts avanc´s e Enseignant Membres statiques m´moire == 20 e Polymorphisme Exceptions M´ta-classes e apprendre() # formation Ramasse-miettes Fin
  • 44. M´thodes virtuelles e POO, h´ritage e Johann Dr´o e Personne Pr´-requis e m´moire == 10 e Programmation Fonctionnelle apprendre() Structures POO Historique Objet ´ Etudiant Classe H´ritage e m´moire == 1 e D´finition e VS composition apprendre() # cours Constructeurs Abstraction Concepts avanc´s e Enseignant Membres statiques m´moire == 20 e Polymorphisme Exceptions M´ta-classes e apprendre() # formation Ramasse-miettes Fin
  • 45. Exemple virtuel POO, h´ritage e Johann Dr´o e C++ Pr´-requis e Programmation class Personne { Fonctionnelle Structures public virtual void apprendre() = 0 ; POO }; Historique Objet class Etudiant : public Personne { Classe public void apprendre() { H´ritage e D´finition e this− >photocopier cours() ; VS composition Constructeurs } Abstraction }; Concepts avanc´s e Membres statiques Polymorphisme Classe abstraite Exceptions M´ta-classes e Ramasse-miettes Fin
  • 46. Interface POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation D´finition e Fonctionnelle Structures cas particulier de classe abstraite POO toutes m´thodes virtuelles pures e Historique Objet Classe H´ritage e Personne D´finition e VS composition manger() Constructeurs Abstraction apprendre() Concepts avanc´s e cr´er() e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 47. Interface POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation D´finition e Fonctionnelle Structures cas particulier de classe abstraite POO toutes m´thodes virtuelles pures e Historique Objet Classe H´ritage e Personne D´finition e VS composition manger() Constructeurs Abstraction apprendre() Concepts avanc´s e cr´er() e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 48. Interface & collections POO, h´ritage e Johann Dr´o e Pr´-requis e Probl`me e Programmation salle de cours Fonctionnelle Structures collection de personnes POO Historique classes diff´rentes e Objet Classe H´ritage e Id´alement e D´finition e VS composition Constructeurs ? c = { new Etudiant(), new Etudiant(), new Enseignant() } ; Abstraction Concepts avanc´s e En pratique (C++) Membres statiques Polymorphisme list<Personne*> c ; Exceptions M´ta-classes e Ramasse-miettes Fin
  • 49. Interface & collections POO, h´ritage e Johann Dr´o e Pr´-requis e Probl`me e Programmation salle de cours Fonctionnelle Structures collection de personnes POO Historique classes diff´rentes e Objet Classe H´ritage e Id´alement e D´finition e VS composition Constructeurs ? c = { new Etudiant(), new Etudiant(), new Enseignant() } ; Abstraction Concepts avanc´s e En pratique (C++) Membres statiques Polymorphisme list<Personne*> c ; Exceptions M´ta-classes e Ramasse-miettes Fin
  • 50. Interface & collections POO, h´ritage e Johann Dr´o e Pr´-requis e Probl`me e Programmation salle de cours Fonctionnelle Structures collection de personnes POO Historique classes diff´rentes e Objet Classe H´ritage e Id´alement e D´finition e VS composition Constructeurs ? c = { new Etudiant(), new Etudiant(), new Enseignant() } ; Abstraction Concepts avanc´s e En pratique (C++) Membres statiques Polymorphisme list<Personne*> c ; Exceptions M´ta-classes e Ramasse-miettes Fin
  • 51. Interface & collections POO, h´ritage e Johann Dr´o e Attention Pr´-requis e acc`s uniquement aux m´thodes de l’interface e e Programmation Fonctionnelle Structures m´thodes des sous-classes inaccessibles e POO Historique Objet c[0]− >apprendre() ; // OUI Classe H´ritage e c[2]− >boire() ; // NON D´finition e VS composition Constructeurs Abstraction Interfaces Concepts avanc´s e “quoi” Membres statiques sous-classes = “comment” Polymorphisme Exceptions M´ta-classes e saine habitude Ramasse-miettes Fin
  • 52. Interface & collections POO, h´ritage e Johann Dr´o e Attention Pr´-requis e acc`s uniquement aux m´thodes de l’interface e e Programmation Fonctionnelle Structures m´thodes des sous-classes inaccessibles e POO Historique Objet c[0]− >apprendre() ; // OUI Classe H´ritage e c[2]− >boire() ; // NON D´finition e VS composition Constructeurs Abstraction Interfaces Concepts avanc´s e “quoi” Membres statiques sous-classes = “comment” Polymorphisme Exceptions M´ta-classes e saine habitude Ramasse-miettes Fin
  • 53. Interface & collections POO, h´ritage e Johann Dr´o e Attention Pr´-requis e acc`s uniquement aux m´thodes de l’interface e e Programmation Fonctionnelle Structures m´thodes des sous-classes inaccessibles e POO Historique Objet c[0]− >apprendre() ; // OUI Classe H´ritage e c[2]− >boire() ; // NON D´finition e VS composition Constructeurs Abstraction Interfaces Concepts avanc´s e “quoi” Membres statiques sous-classes = “comment” Polymorphisme Exceptions M´ta-classes e saine habitude Ramasse-miettes Fin
  • 54. Plan POO, h´ritage e 1 Programmation Johann Dr´o e Programmation fonctionnelle Structures Pr´-requis e 2 Programmation orient´e objet e Programmation Fonctionnelle Historique Structures Objet POO Historique Classe Objet Classe 3 H´ritage e H´ritage e D´finition e D´finition e VS composition VS composition Constructeurs Abstraction Constructeurs & destructeurs Concepts avanc´s e Abstraction Membres statiques 4 Concepts avanc´s e Polymorphisme Exceptions Membres statiques M´ta-classes e Ramasse-miettes Polymorphisme Fin Exceptions
  • 55. Membres statiques POO, h´ritage e Johann Dr´o e ´ Etudiant Pr´-requis e age Programmation Fonctionnelle Structures sexe POO esprit de corps Historique Objet Classe H´ritage e Attribut statique (= de classe) D´finition e VS composition Entit´ unique pour tous les objets e Constructeurs Abstraction Modification simultan´e e Concepts avanc´s e Membres statiques M´thode statique (= de classe) e Polymorphisme Exceptions M´ta-classes e Ne peut utiliser les attributs Ramasse-miettes Fin
  • 56. Membres statiques POO, h´ritage e Johann Dr´o e ´ Etudiant Pr´-requis e age Programmation Fonctionnelle Structures sexe POO esprit de corps Historique Objet Classe H´ritage e Attribut statique (= de classe) D´finition e VS composition Entit´ unique pour tous les objets e Constructeurs Abstraction Modification simultan´e e Concepts avanc´s e Membres statiques M´thode statique (= de classe) e Polymorphisme Exceptions M´ta-classes e Ne peut utiliser les attributs Ramasse-miettes Fin
  • 57. Membres statiques POO, h´ritage e Johann Dr´o e ´ Etudiant Pr´-requis e age Programmation Fonctionnelle Structures sexe POO esprit de corps Historique Objet Classe H´ritage e Attribut statique (= de classe) D´finition e VS composition Entit´ unique pour tous les objets e Constructeurs Abstraction Modification simultan´e e Concepts avanc´s e Membres statiques M´thode statique (= de classe) e Polymorphisme Exceptions M´ta-classes e Ne peut utiliser les attributs Ramasse-miettes Fin
  • 58. Exemple POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Python Fonctionnelle Structures class Etudiant : POO esprit corps = 0 Historique Objet Classe def init (self) : H´ritage e D´finition e self.age = 10 VS composition Constructeurs Abstraction Concepts print self.age avanc´s e print Etudiant.esprit corps Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 59. Polymorphisme POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Fonctionnelle Structures D´finition e POO Historique Objet surcharge Classe plusieurs m´thodes de mˆme nom e e H´ritage e D´finition e VS composition signature = types de renvoi & arguments Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 60. Exemple POO, h´ritage e C++ Johann Dr´o e class Etudiant { Pr´-requis e int age ; Programmation Fonctionnelle bool sexe ; Structures void Etudiant() POO Historique : age(20), sexe(1) {} Objet Classe void Etudiant( int age ) H´ritage e : age( age), sexe(1) {} D´finition e VS composition void Etudiant( int age, bool sexe ) Constructeurs Abstraction : age( age), sexe( sexe) {} Concepts } avanc´s e Membres statiques Polymorphisme Exceptions e = new Etudiant() ; M´ta-classes e Ramasse-miettes e = new Etudiant( 20 ) ; Fin e = new Etudiant( 20, 1 ) ;
  • 61. Exemple POO, h´ritage e C++ Johann Dr´o e class Etudiant { Pr´-requis e int age ; Programmation Fonctionnelle bool sexe ; Structures void Etudiant() POO Historique : age(20), sexe(1) {} Objet Classe void Etudiant( int age ) H´ritage e : age( age), sexe(1) {} D´finition e VS composition void Etudiant( int age, bool sexe ) Constructeurs Abstraction : age( age), sexe( sexe) {} Concepts } avanc´s e Membres statiques Polymorphisme Exceptions e = new Etudiant() ; M´ta-classes e Ramasse-miettes e = new Etudiant( 20 ) ; Fin e = new Etudiant( 20, 1 ) ;
  • 62. Exceptions POO, h´ritage e Exception = erreur Johann Dr´o e Probl`mes avec les valeurs de retour e Pr´-requis e Programmation Syst`me de “lancement” d’exceptions e Fonctionnelle Structures Exception = objet (informations sur l’erreur) POO Historique Objet Classe ` A l’ancienne Gène Plante H´ritage e if( f( g( h( x ) ) ) ) : +séquence +génome D´finition e +transcrire() VS composition print ”ok” Constructeurs Abstraction Concepts Cry1(A) avanc´s e Proprement +résistance OGM Membres statiques try : Barstar +cry1(A) +barstar Polymorphisme Exceptions y = f( g( h( x ) ) ) ) +inhibition +antisens M´ta-classes e Ramasse-miettes except Error,e : Antisens +blocage Fin print e
  • 63. Exceptions POO, h´ritage e Exception = erreur Johann Dr´o e Probl`mes avec les valeurs de retour e Pr´-requis e Programmation Syst`me de “lancement” d’exceptions e Fonctionnelle Structures Exception = objet (informations sur l’erreur) POO Historique Objet Classe ` A l’ancienne Gène Plante H´ritage e if( f( g( h( x ) ) ) ) : +séquence +génome D´finition e +transcrire() VS composition print ”ok” Constructeurs Abstraction Concepts Cry1(A) avanc´s e Proprement +résistance OGM Membres statiques try : Barstar +cry1(A) +barstar Polymorphisme Exceptions y = f( g( h( x ) ) ) ) +inhibition +antisens M´ta-classes e Ramasse-miettes except Error,e : Antisens +blocage Fin print e
  • 64. Exceptions POO, h´ritage e Exception = erreur Johann Dr´o e Probl`mes avec les valeurs de retour e Pr´-requis e Programmation Syst`me de “lancement” d’exceptions e Fonctionnelle Structures Exception = objet (informations sur l’erreur) POO Historique Objet Classe ` A l’ancienne Gène Plante H´ritage e if( f( g( h( x ) ) ) ) : +séquence +génome D´finition e +transcrire() VS composition print ”ok” Constructeurs Abstraction Concepts Cry1(A) avanc´s e Proprement +résistance OGM Membres statiques try : Barstar +cry1(A) +barstar Polymorphisme Exceptions y = f( g( h( x ) ) ) ) +inhibition +antisens M´ta-classes e Ramasse-miettes except Error,e : Antisens +blocage Fin print e
  • 65. Exemple POO, h´ritage e Johann Dr´o e Python Pr´-requis e if( a == 1 ) : Programmation raise RuntimeError(”Pas bien”) Fonctionnelle Structures else : POO ... Historique Objet Classe try : H´ritage e D´finition e variable VS composition Constructeurs except NameError : Abstraction Concepts print ”N’existe pas” avanc´s e else : Membres statiques Polymorphisme print ”Existe :”, variable Exceptions M´ta-classes e finally : Ramasse-miettes print ”Test´” e Fin
  • 66. Exemple POO, h´ritage e Johann Dr´o e Python Pr´-requis e if( a == 1 ) : Programmation raise RuntimeError(”Pas bien”) Fonctionnelle Structures else : POO ... Historique Objet Classe try : H´ritage e D´finition e variable VS composition Constructeurs except NameError : Abstraction Concepts print ”N’existe pas” avanc´s e else : Membres statiques Polymorphisme print ”Existe :”, variable Exceptions M´ta-classes e finally : Ramasse-miettes print ”Test´” e Fin
  • 67. M´ta-classes e POO, h´ritage e Johann Dr´o e M´ta-classes e Pr´-requis e M´ta-classes = presse pour fabriquer des moules e Programmation Fonctionnelle M´ta-classe e → classes → objets Structures POO Historique Utilisation Objet Classe Ajouter des fonctions au H´ritage e D´finition e langage VS composition Constructeurs Tra¸age des appels c Abstraction Concepts S´rialisation e avanc´s e Membres statiques Programmation orient´e e Polymorphisme Exceptions aspects M´ta-classes e Ramasse-miettes etc. Fin
  • 68. M´ta-classes e POO, h´ritage e Johann Dr´o e M´ta-classes e Pr´-requis e M´ta-classes = presse pour fabriquer des moules e Programmation Fonctionnelle M´ta-classe e → classes → objets Structures POO Historique Utilisation Objet Classe Ajouter des fonctions au H´ritage e D´finition e langage VS composition Constructeurs Tra¸age des appels c Abstraction Concepts S´rialisation e avanc´s e Membres statiques Programmation orient´e e Polymorphisme Exceptions aspects M´ta-classes e Ramasse-miettes etc. Fin
  • 69. Ramasse-miettes POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation C++ Fonctionnelle Structures A *a = new A() ; delete a ; POO Historique Objet Garbage collector Classe H´ritage e Lib´ration automatique de la m´moire e e D´finition e VS composition Pr´vient : e Constructeurs Abstraction acc`s ` une zone non allou´e e a e Concepts lib´ration d’une zone d´j` lib´r´e e ea ee avanc´s e Membres fuites m´moire e statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 70. Ramasse-miettes POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation C++ Fonctionnelle Structures A *a = new A() ; delete a ; POO Historique Objet Garbage collector Classe H´ritage e Lib´ration automatique de la m´moire e e D´finition e VS composition Pr´vient : e Constructeurs Abstraction acc`s ` une zone non allou´e e a e Concepts lib´ration d’une zone d´j` lib´r´e e ea ee avanc´s e Membres fuites m´moire e statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 71. POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Fonctionnelle Structures POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin
  • 72. POO, h´ritage e Johann Dr´o e Pr´-requis e Programmation Fonctionnelle Structures POO Historique Objet Classe H´ritage e D´finition e VS composition Constructeurs Abstraction Concepts avanc´s e Membres statiques Polymorphisme Exceptions M´ta-classes e Ramasse-miettes Fin