Outils pour utilisateurs

Outils du site


bloc2:prog:poo:classesabstraites

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc2:prog:poo:classesabstraites [2023/04/04 11:54] – [Comment les utiliser] adminbloc2:prog:poo:classesabstraites [2023/04/11 12:00] (Version actuelle) – [Concept] admin
Ligne 12: Ligne 12:
  
 Exemple :  Exemple : 
-<code=java A.java>+<code java A.java>
 // une classe abstraite A // une classe abstraite A
 public abstract class A public abstract class A
Ligne 25: Ligne 25:
 } }
 </code> </code>
-<code=java B.java>+<code java B.java>
 // une classe qui dérive la classe abstraite A // une classe qui dérive la classe abstraite A
 public class B extends A public class B extends A
Ligne 50: Ligne 50:
   * Une classe qui hérite d’une classe abstraite n’est pas tenue de redéfinir toutes les méthodes abstraites (elle peut n’en définir que certaines). Dans ce cas elle demeure elle-même abstraite.   * Une classe qui hérite d’une classe abstraite n’est pas tenue de redéfinir toutes les méthodes abstraites (elle peut n’en définir que certaines). Dans ce cas elle demeure elle-même abstraite.
  
-===== Comment les utiliser =====+===== Exemples d'utilisation =====
  
-=== Définir la classe abstraite en utilisant le mot-clé "abstract" devant la déclaration de classe. ===+=== Définir une classe abstraite ===
  
 <code=java> <code=java>
-public abstract class MaClasseAbstraite +public abstract class Classe_A 
-    // Déclaration de variables et/ou de méthodes abstraites+    ...
 } }
 </code> </code>
-<color #ed1c24>=== Définir des variables et/ou des méthodes abstraites dans la classe abstraite. ===</color> +=== Définir des méthodes abstraites ===
 <code=java> <code=java>
-public abstract class MaClasseAbstraite +public  class Classe_A 
-    protected int variableAbstraite; +    // Bien observer ici qu'il s'agit d'une signature de méthode : 
- +    //    + Pas de corps défini => pas de {} 
-    public abstract void methodeAbstraite();+    //    + Un point-virgule en fin de ligne 
 +    public abstract void uneMethode (liste_de_paramètres); 
 +    ...
 } }
- 
 </code> </code>
  
-=== Hériter de la classe abstraite dans une classe concrète en utilisant le mot-clé "extends". === +=== Hériter de la classe abstraite (rien de nouveau ...) ===
 <code=java> <code=java>
-public class MaClasseConcrete extends MaClasseAbstraite +public class Classe_B extends Classe_A 
-    // Implémentation des méthodes et des variables de la classe abstraite+    ...
 } }
- 
 </code> </code>
  
-=== Implémenter les méthodes abstraites dans la classe concrète en utilisant le mot-clé "override"===+=== Implémenter les méthodes abstraites ===
 <code=java> <code=java>
-public class MaClasseConcrete extends MaClasseAbstraite { +public class UneClasse extends Classe_A {
-    protected int variableAbstraite;+
  
-    public void methodeAbstraite() { +    @Override 
-        // Implémentation de la méthode abstraite+    public void uneMethode (liste_de_paramètres) { 
 +        // Implémentation de la méthode ... qui n'est plus abstraite
     }     }
 } }
- 
 </code> </code>
  
-<color #ed1c24>=== Utiliser la classe concrète pour instancier des objets et appeler les méthodes héritées de la classe abstraite. ===</color> 
-<code=java> 
-MaClasseConcrete objet = new MaClasseConcrete(); 
-objet.methodeAbstraite(); 
- 
-</code> 
  
bloc2/prog/poo/classesabstraites.1680602091.txt.gz · Dernière modification : 2023/04/04 11:54 de admin