1. #1
    Membre à l'essai
    Homme Profil pro
    technicien eau potable
    Inscrit en
    février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : technicien eau potable
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : février 2013
    Messages : 16
    Points : 12
    Points
    12

    Par défaut Constructor et propriété de classe TypeScript

    Bonjour,
    Voici un bout de code (et je suis débutant avec typescript et les classes en js).
    Je me pose la question: quelle différence y a t il entre créer une propriété de la classe via le constructeur, et directement déclarer la propriété avec son type dans la classe?
    A priori les deux sont accessibles avec this.propriete.

    Merci d'avance pour vos réponses.

    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
    export class AppComponent implements OnInit  {
     
      ngOnInit(): void {
        this.getHeroes();
      }
     
    constructor(private heroService: HeroService) { }
     
    title = 'Tour of Heroes'; //propriété de la classe déclarée directement
    selectedHero : Hero;
    heroes: Hero[];
     
    getHeroes(): void { //méthode de la classe
    this.heroService.getHeroes().then(heroes => this.heroes = heroes);
    }
     
    onSelect(hero : Hero): void {
      this.selectedHero = hero;
    }
     
     }

  2. #2
    Membre expérimenté

    Homme Profil pro
    Développeur .NET
    Inscrit en
    juillet 2009
    Messages
    963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : juillet 2009
    Messages : 963
    Points : 1 700
    Points
    1 700

    Par défaut

    la principal différence ce passe lors de l'instanciation de ta classe.
    dans ton cas tu est obliger de rentrer avec un HeroService lors de l'instanciation.


    Je rajouterai que, pour ma part, j'aime regrouper les property ensemble dans la classe afin d'avoir un meilleurs visibilité.
    un jour, quelqu'un a dit quelque chose...

  3. #3
    Membre à l'essai
    Homme Profil pro
    technicien eau potable
    Inscrit en
    février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : technicien eau potable
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : février 2013
    Messages : 16
    Points : 12
    Points
    12

    Par défaut

    Merci pour ta réponse!
    Et tu regrouperais toutes les propriétés dans le constructeur?

  4. #4
    Membre expérimenté

    Homme Profil pro
    Développeur .NET
    Inscrit en
    juillet 2009
    Messages
    963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : juillet 2009
    Messages : 963
    Points : 1 700
    Points
    1 700

    Par défaut

    Non justement, je mets rarement quelque chose dans le constructeur sauf si c'est indispensable. et même la j'ai tendance a faire une affectation dans le constructeur.

    Je regroupe toute mes property en haut de ma classe, puis constructeur puis mes méthodes sauf si il y a des get et set sur une property que je mets juste en dessous de la déclaration.

    Enfin après c'est juste des normes de codage.


    Si c'est ok pour toi n'hésite pas à mettre le poste en résolu!
    un jour, quelqu'un a dit quelque chose...

  5. #5
    Membre à l'essai
    Homme Profil pro
    technicien eau potable
    Inscrit en
    février 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : technicien eau potable
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : février 2013
    Messages : 16
    Points : 12
    Points
    12

    Par défaut

    ok, merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/01/2009, 19h34
  2. Réponses: 2
    Dernier message: 25/08/2008, 11h54
  3. les propriétés des classes externes
    Par zooffy dans le forum ASP.NET
    Réponses: 12
    Dernier message: 28/01/2008, 16h10
  4. Réponses: 22
    Dernier message: 06/08/2006, 20h52
  5. Indexation d'une propriété de classe
    Par Phifi dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/07/2006, 09h31

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