Exercices de manipulation des classes
Exercice 0
Créez un repository public avec un README sur GitHub, appelez-le
coda-bph-j5Créez un dossier
classesdans le dossiercoda-bph-j5
Exercice 1 : déclarer, instancier et utiliser une classe
Vous allez créer deux fichiers :
User.phpindex.php
Dans le fichier User.php vous allez définir une classe User. Votre classe a 3 attributs :
id qui est un int
username qui est une string
password qui est une string
Cette classe doit avoir un constructeur ainsi que des getters et setters pour chacun des attributs.
Le constructeur doit recevoir les attributs dans ses arguments.
Dans le fichier index.php vous allez instancier deux instances de la classe User.
L'un avec l'id 1, le username admin et le password admin. La seconde avec l'id 2, le username user et le password user.
Vous allez ensuite utiliser ces instances pour faire un echo de leur id, leur username et leur password à chacune.
Exercice 2 : attributs par défaut et méthodes
Vous allez créer deux fichiers :
Character.phpindex.php
Dans le fichier Character.php vous allez définir une classe Character. Votre classe a 3 attributs :
id qui est un int
firstName qui est une string, par défaut il a la valeur "Jane"
lastName qui est une string, par défaut il a la valeur "Doe"
Cette classe doit avoir un constructeur ainsi que des getters et setters pour chacun des attributs.
Le constructeur doit recevoir l'id et uniquement l'id dans ses arguments.
Votre classe doit en plus avoir une méthode publique getFullName qui renvoit une string contenant le firstName et le lastName, séparés par un espace.
Dans le fichier index.php, vous allez instancier une instance de la classe Character avec l'id 1.
Vous allez ensuite utiliser cette instance pour faire un echo de son nom complet.
Puis, vous allez utiliser ses setters pour qu'elle prenne le prénom "Sarah" et le nom de famille "Connor".
Refaites ensuite un echo de son nom complet.
Exercice 3 : la composition
Pour cet exercice pour aller créer trois fichiers :
Weapon.phpCharacter.phpgame.php
Votre classe Weapon aura comme attributs :
namequi est une string privéedamagesqui est un int privé
Elle aura un constructeur qui prend les attributs en argument. Elle aura un getter et un setter pour chacun des attributs.
Elle aura également une méthode publique strike qui retourne la string "Mais aïeuh! <br>".
Votre classe Character aura comme attributs :
namequi est une string privéeweaponqui est uneWeaponprivée
Elle aura un constructeur qui prend son attribut name en argument et initialise l'attribut weapon avec un name vide et des damages à 0.
Elle aura un getter et un setter pour chacun des attributs.
Elle aura également une méthode publique fight qui retourne le résultat de la méthode strike de sa weapon.
Dans votre fichier game.php, créez un personnage avec le name Ragnar.
Donnez lui ensuite une Weapon avec le name "Sword" et des damages de 10.
Affichez avec un écho le nom du Character, le name de sa weapon et les damages de sa weapon.
Affichez le résultat de sa méthode fight.