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

Contribuez Discussion :

[SRC] héritage javascript, et surdéfinition des méthodes


Sujet :

Contribuez

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 354
    Par défaut [SRC] héritage javascript, et surdéfinition des méthodes
    définissé d'abord vos classe , avec la méthode $class(prototype, classAhériter), ou class abstraite avec la méthode $abstract(prototype, classAhériter)

    puis, dans vos fonction de prototype, si vous voulais avoir accès a la méthode parent du même nom, (surdéfinit) faite this.$super([arguments]) , ou d'un autre nom this.$super('autrefunc',[arguments]])

    voiçi un exemple d'utilisation

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    /*definition des classes abstraite servant de base pour l'héritage*/
    var vehicule =$abstract({
       constructor : function(){//se nomme ainsi pour pouvoir etre apellé par les super qui dériveront
         this.stringAvance='';//ini la varaible string
       },
       toStringAvance: function(){
         this.stringAvance+=this.stringType+' avance ';
       }
    });
     
     
    var vehiculeAMoteur = $abstract({
       constructor : function(){
          this.$super();//appelle la méthode surdéfinit 
       },
       toStringAvance: function(chevaux){
         this.$super();//appelle la méthode surdéfinit 
         this.stringAvance+='avec un moteur de '+chevaux+' chevaux';
       }
    },vehicule);
     
     
    var voiture = $class({
       constructor : function(chevaux){
          this.$super();//appelle la méthode surdéfinit 
          this.chevaux=chevaux;
          this.toStringAvance();
       },
       toStringAvance: function(){
         this.$super([this.chevaux]);//appelle la méthode surdéfinit  avec un arguments
         alert(this.stringAvance)
       },
       stringType : 'La voiture'
    },vehiculeAMoteur);
     
     
    var camion = $class({
       constructor : function(chevaux){
          this.$super();//appelle la méthode surdéfinit 
          this.chevaux=chevaux;
          this.toStringAvance();
       },
       toStringAvance: function(){
         this.$super([this.chevaux]);//appelle la méthode surdéfinit  avec un arguments
         alert([this.stringAvance])
       },
       stringType : 'Le camion'
    },vehiculeAMoteur);
     
    new voiture(120);
    new camion(1000);
    si vous avez des questions, hésitez po! a++
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Hasha : des méthodes JavaScript de hashage
    Par vermine dans le forum NodeJS
    Réponses: 0
    Dernier message: 18/06/2015, 07h35
  2. Hasha : des méthodes JavaScript de hashage
    Par vermine dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 18/06/2015, 07h35
  3. héritage multipes, surdéfinitions des méthodes
    Par kimjoa dans le forum Langage
    Réponses: 8
    Dernier message: 09/01/2010, 18h46
  4. Appeler des méthodes Java dans javascript
    Par Kyo-AzN dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2008, 20h19
  5. [Info]descriptif des méthode ?
    Par java_math dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/06/2004, 08h36

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