Java multi héritage

Fermé
SW92 Messages postés 8 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 5 janvier 2015 - 30 nov. 2014 à 14:57
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 30 nov. 2014 à 16:16
Comment fait t on pour qu'une classe puisse hérité de deux autres classes ?
A voir également:

2 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 30/11/2014 à 14:59
'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
2
SW92 Messages postés 8 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 5 janvier 2015 1
30 nov. 2014 à 15:48
Merci et excusez moi pour l'oubli
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
30 nov. 2014 à 15:48
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).
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
30 nov. 2014 à 16:16
@KX: oups, mon français m'échappe :-° ... Je voulais en effet dire "à l'encontre du C++".
0
SW92 Messages postés 8 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 5 janvier 2015 1
Modifié par KX le 30/11/2014 à 15:49
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
1
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
30 nov. 2014 à 15:50
Et quel rapport avec de l'héritage multiple ? La classe Disque hérite de Chanteur !!?
0
SW92 Messages postés 8 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 5 janvier 2015 1
30 nov. 2014 à 15:56
C'est vrai que ma question est un peut ambigu. C'est Chanteur qui utilise Disque mais comme vous me l'avez signaler l'héritage multiple n'est pas possible sous Java. Donc je souhaiterai savoir par quel moyen pouvons nous faire cela ?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
30 nov. 2014 à 16:07
Je ne vois toujours pas le rapport, ce n'est pas de l'héritage et encore moins de l'héritage multiple...

private Disque[] disques;

public void ajouterDisque(Disque disque) {
   ...
0
SW92 Messages postés 8 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 5 janvier 2015 1 > KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024
30 nov. 2014 à 16:12
Ok Merci je vais essayer avec cela
0