Classe

Type personnalisé.

class Livre {

}

let nouveauLivre:Livre = new Livre();

Une classe peut avoir des propriétés.

Elles sont publiques par défaut.

class Personne {
    nom:string;
    prenom:string;
}

La visibilité d’une propriété peut être modifiée via les mots clés :

  • public
  • private
  • protected
class Personne {
    public nom:string;
    private _secret:string;

    protected getNomComplet():string {
        return `nom ${this._secret}`;
    }
}

Une classe abstraite peut-être créée via le mot clé abstract.

abstract class BaseObject {
    abstract getId(): number;
}
class Personne extends BaseObject {
    private _id:number;
    public nom:string;
    private _secret:string;

    getId():number {
        return this._id;
    }
}

Notation raccourci pour déclarer la visibilité des membres via le constructeur.

class Personne {
    constructor(private _id:number, public nom:string, private _secret:string) {
    }

    protected getNomComplet():string {
        return `nom + ${this._secret}`;
    }
}

Une classe peut implémenter une interface via le mot clé implements.

Une classe peut implementer plusieurs interfaces.

interface Publiable {
    published: boolean;
    publish():void;
}
class Livre implements Publiable {
    published:boolean;

    publish():void {
        // publication ...
    }
}

results matching ""

    No results matching ""