39 votes

Qu'est-ce que la classe Concrete en java

Selon este et de nombreux documents similaires, une classe concrète est décrite comme suit :

Une classe concrète en Java est une classe dont tous les membres hérités d'une interface ou d'une classe abstraite sont implémentés.

Et peut être utilisé comme ceci :

public abstract class A {
 public abstract void methodA();
}

interface B {
 public void printB();
}

public class C extends A implements B {
   public void methodA() {
        System.out.print("I am abstract implementation");
    }

  public void printB() {
       System.out.print("I am interface implementation");
   }
}

Dans l'exemple ci-dessus, la classe C est une classe concrète.

Est-ce la seule façon de créer une classe concrète. Pouvez-vous me donner plus d'informations sur les classes concrètes ?

3 votes

Une classe concrète peut être instanciée avec la commande new mot-clé .

1 votes

La question n'est pas très claire pour moi. Si c'est la question, vous pouvez aussi créer une classe concrète sans qu'elle n'étende ou n'implémente quoi que ce soit. Peut-être que l'inverse est plus clair pour vous : Toute classe qui n'est pas abstraite est concrète (les interfaces ne le sont jamais).

0 votes

Merci à tous pour vos commentaires.

60voto

mdewit Points 1150

Une classe concrète est une classe qui possède une implémentation pour toutes ses méthodes qui ont été héritées d'une classe abstraite ou implémentées via des interfaces. Elle ne définit pas non plus de méthodes abstraites qui lui sont propres. Cela signifie qu'une instance de la classe peut être créée/allouée avec la commande nouveau sans avoir à implémenter de méthodes au préalable. On peut donc en déduire que toute classe qui n'est pas une classe abstraite ou une interface est une classe concrète.

Dans votre code ci-dessus, C sera une classe concrète car elle implémente toutes les méthodes abstraites héritées de A et implémentées de B. De plus, elle ne définit aucune méthode abstraite qui lui soit propre.

0 votes

Merci mdewit. C'est bon. Pouvez-vous me donner l'exemple s'il vous plaît.

1 votes

Vous dites que si nous pouvons créer une instance, alors la classe est concrète. Ai-je raison ?

0 votes

En fait, @Dev4Wotld, c'est l'inverse : si c'est une classe concrète, on peut l'instancier. Oui, c'est symétrique, mais c'est plus facile à penser de cette façon.

9voto

Lew Bloch Points 132

La définition la plus simple d'une classe concrète est qu'il s'agit d'une classe qui n'est pas abstrait .

3voto

Brajesh Points 505

Comme son nom l'indique, "concret" signifie "solide", c'est-à-dire qu'il n'y a pas de rangées ou de méthodes non implémentées. On peut donc conclure que les classes concrètes sont celles qui peuvent être instanciées avec un nouveau mot clé. MyClass myClass = new MyClass() ;

1voto

harishhari302 Points 16

Une classe concrète en Java est une classe dont tous les membres hérités d'une interface ou d'une classe abstraite sont implémentés.

1voto

Sasi Points 31

Dans le programme ci-dessus, la représentation d'une classe abstraite comme classe publique entraînera parfois des erreurs de compilation si elle est définie dans son propre fichier. Il suffit d'éviter d'utiliser le mot clé public ou le modificateur lors de l'utilisation de la classe abstract dans votre programme pour éviter toute incertitude. Toute méthode invoquée à l'aide du mot clé new (création d'objet) autre que les classes abstraites et d'interface est appelée classe concrète.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X