1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
Welcome to our Education website, plz like our page facebook to support us. Thank You and wish you good navigation

Les concepts de Programmation Orientée Objet

abdelouafiOct 20, 2016

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      180
      Likes Received:
      9
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      Les concepts de Programmation Orientée Objet.
      Déclaration : Composés d’attributs (structure des objets) et de méthodes (comportement des objets)
      Code:
      class Etudiant
      { String nom, prenom;
      float noteMath, noteInfo ;
      …..
      public float moyTotal (paramétres)
      { //code de la méthode }
      }
      Les méthodes :​
      • De classe : ne sont pas instanciables : Mot clé static
      • D’instance : sont instanciables
      Les objets:​
      • Instance particulière d’une classe
      • Mot clé : new
      • Les constructeurs : méthode spéciale qui permet d’instancier un objet (tjs public)
      Code:
      class Un
      { public Un( int a)
      this.a = a}
      int a ;
      }
      Variable d’instance, de classe:​
      Variable d’instance :
      Spécifique à chaque objet instancié.

      Variable de classe (static) :
      La même pour tous les objets. Disponible sans instanciation
      Règle d’utilisation : variables / méthodes de classes / d’instances ???

      Surcharge de méthode​
      Une méthode peut disposer du même nom mais avec des paramètres formels différents ou un type de retour différents.
      Héritage​
      Permet de définir une nouvelle classe (dérivée) à partir d’une classe existante (de base).
      Code:
      class ClasseDerive extends ClasseDeBase
      Règle d’accès : ….
      Construction
      Code:
      class Point
      {….
      public Point( int x, int y) {…..}
      Private int x, y ;
      }
      Code:
      class PointCol extends Point
      {….
      public PointCol (int x, int y, byte couleur)
      { super (x,y)
      this.couleur = couleur;}
      private byte couleur;
      }
      Redéfinition de méthode​
      même signature (nom, type de retour, paramètres formels)
      Code:
      class PointCol extends Point
      {……
      public void affiche()
      { super.affiche();
      System.out.println (‘’couleur : ’’+couleur)
      }
      Surdéfinition de méthode​
      Même nom, signatures différentes
      Code:
      class A
      { public void f(int n) { }
      }
      Code:
      class B extends A
      { public void f(float x) { }
      }
      Polymorphisme
      • Compatibilité par affectation entre un type classe et un type ascendant
      • Ligature dynamique des méthodes
      Code:
      Point p=new Point(3,5)
      p.affiche()
      p=new PointCol(4,8,(byte)2)
      p.affiche()
      Classe et méthode finale (mot clé : final)​
      Méthode : ne peut être redéfinie
      Classe : ne peut être dérivée
      Classe abstraite : (abstract)
      Ne permet pas d’instancier des objets (sert de classe de base)
      Méthode abstraite : ne fournit que la signature
      Surdéfinition de méthode
      Même nom, signatures différentes
      Code:
      class A
      { public void f(int n) { }
      }
      Code:
      class B extends A
      { public void f(float x) { }
      }
      Polymorphisme
      • Compatibilité par affectation entre un type classe et un type ascendant
      • Ligature dynamique des méthodes
      Code:
      Point p=new Point(3,5)
      p.affiche()
      p=new PointCol(4,8,(byte)2)
      p.affiche()
      Classe et méthode finale (mot clé : final)​
      Méthode : ne peut être redéfinie
      Classe : ne peut être dérivée
      Classe abstraite : (abstract)​
      Ne permet pas d’instancier des objets (sert de classe de base)
      Méthode abstraite : ne fournit que la signature
      Code:
      abstract class A
      { public void f( ) { …}
      public abstract void g(int n) ;
      }
       

      Attached Files:

      Last edited: Feb 4, 2017
      Loading...

Share This Page

Share