Bonjour tout le monde
Alors pour commencer j'ai deux classes

classe FamilleAnimaux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class FamilleAnimaux {
    private NF : string = "";
 
    public set NomFamille(NomFamille : string) {
        this.NF = NomFamille;
    }
 
    public get NomFamille(): string {
        return this.NF;
    }
}
et classe Animal
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
export class Animal extends FamilleAnimaux {
    private Deplacement: string = "";
    private voix: boolean = true;
    private Couverture: string = "";
 
    constructor (){
        super();
        this.voix = true;
        if (this.NomFamille = "") {
            throw new Error("Vous devez renseigner cet attribut.")
        }
    }
 
        public set SeDeplace(sd : string) {
        this.Deplacement = sd;
    }
 
    public set EmetUneVoix(v : boolean) {
        this.voix = v;
    }
 
    public set Couvert(c : string) {
        this.Couverture = c;
    }
 
    public get Couvert() {
        return this.Couverture;
    }
 
    public son(nbr: any): void {
        for (let i = 0; i <= nbr; i++) {
          console.log("aucun!");
        }
    }
}
à l'exécution du code qui suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
A = new Animal();
  // nom de famille
  public nf: string = this.A.NomFamille="";
  // comment se déplace-t-il ?
  public sd : string = this.A.SeDeplace="Marchant";
  // a-t-il une voix ou pas ?
  v : boolean = this.A.EmetUneVoix;
  public vx = this.v ? "Cet animal a une voix"  : "cet animal n'a pas de voix.";  
  // emet des sons 
  this.A.son(3);
j'ai quelques problèmes :

Premier problème
même si
Code : Sélectionner tout - Visualiser dans une fenêtre à part
private voix: boolean = true;
à l'exécution de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
v : boolean = this.A.EmetUneVoix;
j'ai le message
"cet animal n'a pas de voix."
alors qu'à mon sens et puisque voix est par défaut true je dois avoir le message
Cet animal a une voix
Deuxième problème
l'autre problème est que que mon constructeur n'exécute jamais la partie throw même si NomFamille !

Troisimè problème
le dernier problème est que son provoque une erreur de compilation pourtant il me parait que la fonction est typiquement correct

J'attire votre attention que c'est mon premier essai donc possible que j'ai dis un tas de bétises.

merci par avance.