Bonjour tout le monde
Alors pour commencer j'ai deux classes
classe FamilleAnimaux
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
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
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
private voix: boolean = true;
� l'ex�cution de
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 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.
Partager