Java multi héritage
SW92
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
ElementW Messages postés 5690 Statut Contributeur -
ElementW Messages postés 5690 Statut Contributeur -
Comment fait t on pour qu'une classe puisse hérité de deux autres classes ?
2 réponses
-
'lut, ce n'est pas possible: Java ne supporte pas l'héritage multiple (à l'instar du C++ par exemple).
En revanche, il y a les Interfaces qui sont là pour combler une partie de ce manque.
Et au passage, la politesse, c'est une chose a ne pas oublier. Pas bonjour, pas merci...
from human import idiocy
del idiocy-
-
Bonjour,
Pour compléter, depuis Java 8 les interfaces ont des méthodes par défaut, donc on peut enrichir l'héritage multiple d'interfaces en Java en implémentant plusieurs interfaces avec des méthodes par défaut, qui peuvent être potentiellement totalement implémentées.
Evidemment, ce n'est pas magique, et si on implémente deux interfaces qui ont deux méthodes par défaut de même signature, alors elles s'annulent, il faudra donc implémenter la méthode en conflit (en utilisant éventuellement une combinaison des méthodes en conflits)
NB. "à l'instar du C++" j'imagine que tu voulais dire "à l'encontre du C++"... car C++ supporte l'héritage multiple (avec bien sûr quelques contraintes pour les conflits). -
-
-
Bnjr Merci pour votre Réponse et j m'excuse pour l'oubli.
Je travail sur l programme sur le programme suivant:
public class Chanteur extends Personne{ private String maisonEdition; private String titres []; private int nbTitres; public Chanteur(String prenom, String nom, int age) { super(prenom, nom, age,"Chanteur"); this.titres= new String [10]; } public String sePresenter (){ System.out.println ("Appel sePresenter Chanteur"); return super.sePresenter() +" et je suis Chanteur"; } public void setEdition (String maisonEdition){ this.maisonEdition= maisonEdition; } public String getEdition(){ if (maisonEdition!=null) return "Le nom de la maison d'édition de "+this.getNom()+" est "+this.maisonEdition; else return " "; } public void ajouterTitre(String titre){ if (nbTitres<10) this.titres[nbTitres++]=titre; else System.out.println("Ce Chanteur à déja 10 titres"); } public void afficherTitres (){ int k; System.out.println("Le(s) titre(s) créé(s) par "+this.getNom()+" est(sont) : "); for (k=0;k<this.nbTitres;k++) System.out.println(titres[k]); } }
Et maintenant on me demande de Créer une classe Disque (titre, date de création, nombre d'exemplaire vendu) pour changer le tableau titres, le rendre dynamique.
Merci d'avance