Vous êtes sur la page 1sur 2

TP Typescript

Exercice 1
Considérons une classe appelée Point ayant les attributs suivants (abs, ord)

1. Définissez la classe Point, un constructeur avec deux paramètres


2. Définissez les getters et setters pour les deux attributs.
3. Ecrivez la méthode calculerDistance(p:Point) qui permet de calculer la distance entre
le point de l’objet courant (this) et l’objet Point p passé en paramètre. Pensez à utiliser
les fonctions Math.sqrt(a) et Math.pow(x, y).
4. Définir une méthode statique distance(x1:number,y1:number,x2:number,y2:number)
qui calcule et retourne la distance entre les deux points A(x1,y1) et B(x2,y2).
5. Ecrivez la méthode calculerMilieu(p: Point) qui permet de calculer et de retourner
un objet correspondant au milieu du segment défini par le point de l’objet courant (this)
et l’objet Point p passé en paramètre. La méthode doit retourner un objet Point.
Considérons maintenant une classe appelée TroisPoints ayant 3 points comme attributs.
6. Définissez le constructeur et les getters/setters de la classe TroisPoints.
7. Ecrivez une méthode TesterAlignement() qui retourne true si les trois points premier,
deuxième et troisième sont alignés, false sinon. Nous rappelons que trois points A, B et
C sont alignés si AB = AC + BC, AC = AB + BC ou BC = AC + AB.
8. Ecrivez une méthode estIsocele() qui retourne true si les trois points forment un
triangle isocèle, false sinon. Nous rappelons qu’un triangle ABC est isocèle si AB = AC ou
AB = BC ou BC = AC.
9. Dans un fichier main.ts, testez toutes les classes et méthodes que vous avez implémentées.

Exercice 2
1. Créez une classe Utility avec une méthode statique générique reverseArray qui prend
un tableau en entrée et renvoie le tableau inversé.
2. Testez cette méthode avec différents types de tableaux (nombres, chaînes, etc.) pour vérifier
son fonctionnement avec des génériques.

Exercice 3
1. Créez une interface de base Shape avec des propriétés type et une méthode getArea() et
getPerimetre().
2. Créez des classes Circle et Rectangle qui implémente l'interface Shape et implémentent
la méthode getArea() et getPerimetre() de manière spécifique.
3. Utilisez des génériques pour créer une fonction qui prend en paramètre une instance de
l'interface Shape et affiche ses informations.
4. Créez un tableau de Shape (cercles et rectangles) et faites le parcours de ce tableau avec
foreach pour afficher les informations de chaque forme.

Exercice 4
1. Créez un module MathUtils contenant une exportation des fonctions utilitaires
mathématiques add, subtract, multiply, et divide.
2. Créez dans le même module une énumération operation pour énumérer les différentes
fonctions mathématiques.
3. Exportez l'énumération et les fonctions du module 'MathUtils' et importez-les dans un
fichier principal 'index.ts' pour effectuer des opérations mathématiques. Ecrire une
fonction doOperation qui prend en paramètres l'opération et les deux opérandes et renvoie
le résultat de l'opération en question.
4. Utiliser différents types d'importation de modules

Exercice 5
1. Créez une classe générique nommée Boite acceptant une propriété contenu de type
générique.
2. Créez son constructeur et ses accesseurs.
3. Testez votre classe générique en créant des boites contenant différents types (string, number,
objet, …)

Exercice 6
1. Créez une fonction asynchrone myDisplay renvoyant une promesse renvoyant le nom et
l'âge d'une personne. Utilisez cette fonction pour récupérer et afficher la variable résolue
renvoyée par la promesse. Modifiez le code en utilisant await au lieu de then.
2. Créez un code permettant d'interroger l'API https://jsonplaceholder.typicode.com
avec la méthode asynchrone fetch pour récupérer les données d'un utilisateur puis récupérer
ses articles et enfin afficher les commentaires de son premier article.

Vous aimerez peut-être aussi