Le mot-clé abstract en Java

Voyons un peu l’utilisation du mot-clé Abstract en Java.

Définition de Wikipédia :

En programmation orientée objet (POO), une classe abstraite est une classe dont l’implémentation n’est pas complète et qui n’est pas instanciable. Elle sert de base à d’autres classes dérivées (héritées).

Wikipédia

1 – Les variables

C’est simple et rapide, une variable ne peut pas être marquée comme “abstract“.

2 – Les classes

  • Si une classe est marquée comme abstract, elle ne peut pas être instanciée, c’est-à-dire que vous ne pouvez pas créer un objet de cette classe.
  • Si une autre classe extends une classe abstract, elle doit obligatoirement remplacer toutes les méthodes de cette classe.

3 – Les méthodes

  • Si un développeur ne connaît pas l’implémentation d’une méthode, celle-ci peut être marquée comme abstract.
  • Une méthode abstract doit être une classe abstract.
  • Une méthode abstract ne doit pas avoir de “corps” :
abstract public void display();


Petit bout de code pour expliquer l’abstraction :

abstract class A {
    abstract void test();   // test() est abstract donc la classe A doit être abstract
}

abstract class B extends A {
    void test() {
      System.out.println("A");    // B overrides test()
    }
    abstract void test2();
}

abstract C extends B {

  // La classe C ne connait pas l'implémentation de test2() et se marque donc comme abstract
    void test3(){
      System.out.println("C");
    }
}

class D extends C {
    // Ici, on aura une erreur de compilation car D doit override test2()
}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut
%d blogueurs aiment cette page :