IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Question sur l'héritage en JS


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    SEO
    Inscrit en
    Novembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : SEO

    Informations forums :
    Inscription : Novembre 2017
    Messages : 25
    Points : 23
    Points
    23
    Par défaut Question sur l'héritage en JS
    Salut à tous,

    J'aurais une question pour faire de l'héritage multiple en JS sachant qu'il n'existe pas d'héritage multiple de base (comme la plupart des langages, ils veulent pas de l'héritage multiple). Le deuxième héritage prototype écraserais la 1er si je fais hériter en passant par les moyen moderne (extend) ou les prototypes.

    Les mixins, bonne solution ? Fonction qui modifie l'objet (bien que je ne vois pas comment faire ça) ?


    Je suis ouvert à la discussion de développeur plus/aussi expérimenter que moi sur un problème qu'on rencontre rarement mais bon vaut mieux savoir le faire le jour venu.

    Merci d'avance pour vos réponses

  2. #2
    Membre confirmé
    Homme Profil pro
    OoW
    Inscrit en
    Juin 2019
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Ukraine

    Informations professionnelles :
    Activité : OoW

    Informations forums :
    Inscription : Juin 2019
    Messages : 138
    Points : 487
    Points
    487
    Par défaut
    \ô/
    tu peux te rapprocher de

    ou encore

    sur javascript.info

  3. #3
    Membre à l'essai
    Homme Profil pro
    SEO
    Inscrit en
    Novembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : SEO

    Informations forums :
    Inscription : Novembre 2017
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Salut Dave Hiock !

    Merci pour la source, je ne la connaissais pas. Croiser avec MDN c'est pas mal.

    Cependant je n'ai pas trouver la solution à ma réponse. Comment faire en sorte qu'une classe puisse avoir un héritage multiple (recherche n'a pour le moment rien donnée pour le moment vu que le multi héritage n'est pas bien vu dans beaucoup de langage dont le JS).


    Les mixins, bonne solution ? Fonction qui modifie l'objet (bien que je ne vois pas comment faire ça), faire une classe abstraite supplémentaire comme intermédiaire (Exemple: Vivant > animal > vache) ?


    J'aurais également une autre question concernant la définition des classes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    class structure {
        constructor(largeur, longueur) {
            this.largeur = largeur;
            this.longueur = longueur;
        }
     
        getlargeur() {
            console.log(this.largeur);
        }
     
        getlongueur() {
            console.log(this.longueur);
        }
    }
     
    let test = new structure(15,4);
    Quand l'on fait ça, si on demande les deux variables en faisant appel à getlargeur et getlongueur on arrive a avoir la valeur.


    Cependant si je fais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        getlargeur(largeur) {
            console.log(largeur);
        }
     
        getlongueur(longueur) {
            console.log(longueur);
        }
    En demandant les valeurs via les méthodes getlargeur et getlongueur, les deux variables sont considérés comme non définie.

    Donc ça veut dire que this.largeur = largeur; et this.longueur = longueur; ne définie pas une valeur pour la variable longueur et largeur comme en PHP.

    Si l'on fait en PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
     
    class Nombre {
    private $_nb;
    // Mon Constructeur
    public function __construct($i)
    {
       $this->_nb=$i;
    }
    public function afficher($i)
    {
       echo $i;
    }
     
    ?>
    Ici si l'on demande la variable "$i" via la méthode public on obtient bien la valeur.


    C'est normal tout ça ? Çà ne casse pas l’intérêt des setter / getter ? Faut mieux sécurisé avant du coup vu qu'on utilise la valeur de la variable directement

Discussions similaires

  1. Questions sur l'héritage multiple
    Par beegees dans le forum C++
    Réponses: 12
    Dernier message: 31/03/2008, 17h01
  2. Question sur l'héritage (débutant en C++)
    Par beegees dans le forum C++
    Réponses: 19
    Dernier message: 30/03/2008, 14h45
  3. petite question sur l'héritage et les cast
    Par baedal dans le forum Langage
    Réponses: 3
    Dernier message: 29/02/2008, 00h48
  4. Questions sur l'héritage dans Matisse
    Par Cassios dans le forum NetBeans
    Réponses: 8
    Dernier message: 14/03/2007, 23h23
  5. Question sur l'héritage
    Par the big ben 5 dans le forum Delphi
    Réponses: 28
    Dernier message: 06/06/2006, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo