[MUSIQUE] [MUSIQUE] Nous allons maintenant voir comment décrire, comment déclarer une classe en Scala, le principe général, et voir aussi comment à partir de la description de cette classe, on peut ensuite créer, instancier des objets qu'on pourra ensuite utiliser comme des variables dans un programme. Commençons par la description de la classe. De quoi allons-nous avoir besoin? Dans un premier temps de donner évidemment un nom à notre classe. Et puis, nous allons avoir besoin de décrire les caractéristiques communes, qu'on a définies comme étant les attributs. Ces attributs vont se définir sous forme d'une liste de variables. On devra aussi décrire les comportements. Ces comportements vont se décrire sous forme de méthodes. [BRUIT] Et on aura encore besoin de définir la façon dont les objets vont être construits, dont ils vont être initialisés, on dit aussi instanciés. [BRUIT] On peut considérer que la construction consiste à initialiser un objet. Pour cela, on aura besoin de deux choses : la première chose, ce sont des paramètres, c'est-à -dire des informations qui vont être fournies à la classe pour pouvoir initialiser les valeurs des attributs, et éventuellement du code qui va définir la façon dont l'objet va être initialisé, quelles sont les instructions dont on va avoir besoin pour construire l'état initial d'un objet. Comment est-ce qu'on réalise ça en Scala? On utilise tout d'abord un terme du vocabulaire Scala : class. On le fait suivre du nom de la classe, donc le nom qu'on va donner à la classe. Puis, entre parenthèses on va définir une liste de paramètres. Ces paramètres sont identiques à ceux qu'on définit dans une méthode. Ces paramètres vont être ceux qui vont être communiqués à la classe pour pouvoir instancier, initialiser les objets qui vont être créés. Puis, à la suite, on va définir un bloc d'instructions, et à l'intérieur de ce bloc d'instructions, on va d'une part déclarer des variables. Chaque variable qui va être déclarée va correspondre à un attribut de la classe. On va ensuite décrire un ensemble de méthodes, et chaque méthode qui sera décrite dans ce bloc d'instructions sera une méthode de la classe. Il nous reste encore un élément : on va rajouter, en général entre les variables et la méthode, du code, des instructions, qui va directement se trouver dans le bloc d'instructions associé à la classe, et qui va permettre de définir les instructions nécessaires à l'initialisation, à l'instanciation d'un objet. Souvent, ce code ou cette instanciation revient à transmettre des valeurs par les paramètres, et à les affecter directement aux différentes variables qui composent les attributs de la classe. Voilà le schéma général de déclaration, de description d'une classe en Scala. Une fois qu'on a décrit cette classe, donc à l'intérieur de notre programme, on va pouvoir créer et instancier des objets sous forme de variables. Comment va-t-on procéder? C'est assez proche de la déclaration d'une variable normale, à l'exception qu'il va falloir indiquer qu'on instancie, qu'on crée l'objet. [BRUIT] On va utiliser var, val, indépendamment en fonction de l'utilisation qu'on veut faire ensuite de la variable ou de l'objet. On va donner un nom à l'objet. Ici je vais l'appeler tout simplement objet. Et on va appeler une méthode, new, qui va permettre de dire qu'on construit un nouvel objet. Et pour indiquer de quelle classe cet objet va être, on va tout simplement utiliser le nom de la classe, [BRUIT] et à la suite, on va fournir la liste des paramètres qui vont être nécessaires pour l'initialisation et l'instanciation de l'objet. Une fois que cette déclaration est réalisée, l'objet a été déclaré, il a été construit et on peut donc utiliser l'objet dans notre programme. Comment utiliser l'objet? Tout simplement en ayant accès à ses attributs, ou en ayant accès à ses méthodes. Comment avoir accès aux attributs d'un objet? Tout simplement en utilisant le nom de la variable de l'objet point le nom d'une des variables attributs de la classe. Ce qui va nous permettre d'utiliser objet.attribut comme une variable en lui affectant une valeur ou en récupérant une valeur. Comment est-ce qu'on va avoir accès aux méthodes? Sur le même modèle : objet.méthode. Cette indication ici signifie que on va appliquer la méthode sur l'instance, sur l'objet qui est défini ici. Donc objet.méthode, j'applique la méthode sur l'objet. Et donc, en fonction du traitement qui aura été défini dans la description de la méthode correspondante dans la déclaration de la classe, ça va provoquer des modifications des valeurs des attributs, et des calculs qui vont permettre de faire évoluer au cours du programme l'état de l'objet jusqu'à obtenir le résultat final attendu. Dans cette vidéo, nous avons vu comment construire une classe en Scala, quel est le schéma général de déclaration de la classe, et nous avons vu aussi comment créer, instancier une variable objet à partir de cette classe, et comment ensuite avoir accès aux attributs et aux méthodes. [MUSIQUE] [MUSIQUE]