L'essentiel de Ruby on Rails

Faire de la programmation orientée objet

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
La POO (Programmation Orientée Objet) s'est imposée depuis les années 1960, et de nombreux langages l'ont adoptée. Découvrez les principes fondamentaux de la POO dans Ruby.
05:31

Transcription

Oui, je sais, ces trois mots font peur... Mais, rassurez-vous, la Programmation Orientée Objet devient carrément plus simple à comprendre lorsqu'elle est expliquée avec des peluches. Oui, oui, j'ai toute ma tête ! Vous allez comprendre. La Programmation Orientée Objet est un paradigme de programmation informatique Ce mot barbare signifie, ni plus ni moins, que la Programmation Orientée Objet est une certaine façon d'observer le monde qui nous entoure et de le traduire en code pour pouvoir réaliser des applications. Les principes de la Programmation Orientée Objet sont les suivants : la représentation par objets, la création d'instances, l'existence des variables et méthodes, l'héritage, la surcharge et la redéfinition. Nous allons revenir sur chacun des ces cinq points dans les slides suivants. Commençons par la représentation par objets. Tout ce qui nous entoure peut être considéré comme un objet. Un utilisateur est un objet, une photo est un objet, une peluche est un objet. Ces objets peuvent interagir entre eux, par exemple, un utilisateur peut avoir une photo en guise d'avatar ou posséder une peluche. Les objets possèdent également des propriétés et des méthodes qui les caractérisent. La collection de peluches, que vous voyez ici, partagent toutes les mêmes propriétés intrinsèques. Elles ont toutes une certaine douceur, une certaine couleur, une taille, ce sont leurs propriétés. De la même façon, elles ont toutes des méthodes, par exemple, câliner et parler. Ce seront des actions qu'elles seront susceptibles de réaliser. Lorsque nous souhaitons parler d'une peluche en particulier, par exemple Teddy l'ourson que vous voyez ici, nous parlons alors d'une instance. Teddy l'ourson sera, en effet, un élément particulier de l'objet peluche, c'est cela que l'on nomme : instance. Imaginez que vous avez pris une peluche de la collection de peluches précédente et qu'il s'agit de cet adorable ourson. Vous remarquez qu'il a, dès lors, des propriétés bien définies : qu'il est très doux, qu'il est marron et qu'il mesure 50 centimètres. Ces méthodes effectuent aussi des actions bien précises. Teddy l'ourson dit, par exemple, Bonjour, lorsqu'on lui appuie sur le bras. Dans la représentation par objet, un objet est une sorte de modèle. Ici, dans notre collection de peluches, nous savons qu'elles ont toutes une certaine douceur et couleur. C'est ce qui les caractérise. Nous parlons alors de propriétés. Ce n'est que lorsque l'on a choisi explicitement une peluche, ici, Teddy l'ourson, que nous définissons exactement ses propriétés. D'ailleurs, ses propriétés peuvent évoluer au fil du temps. Dans cinq ans, avec l'usure, Teddy l'ourson ne sera sûrement plus aussi doux ni aussi marron. Il existe deux types de variables. Les variables d'instance qui caractérisent une peluche en particulier et les variables d'objet qui s'appliqueront à toute la collection de peluches. De la même manière, il existe des méthodes d'instance, comme Câliner ou Parler et des méthodes d'objet comme Créer peluche pour ajouter une peluche à notre collection ou Afficher description pour afficher les mots : une peluche. Pour le moment, cela reste sûrement un peu flou pour vous mais, n'ayez crainte, vous finirez par comprendre. Une autre notion importante de la Programmation Orientée Objet est la notion d'héritage. Par exemple, dans notre collection de peluches, nous pouvons y trouver des sous-ensembles, à savoir les peluches en forme d'ours comme Teddy l'ourson, des peluches issues de dessins animés ou le Furby, une peluche très particulière avec un langage élaboré. De la même façon, le sous-ensemble Peluche de dessins animés peut avoir un autre sous-ensemble : les peluches issues de l'univers Disney. Eh bien, toutes les propriétés et méthodes définies au sein de notre collection de peluches seront transmises à ces sous-ensembles. Et chaque sous-ensemble pourra également avoir ses propres propriétés et méthodes qu'il ne partage pas avec les autres collections de peluches. Enfin, la dernière notion que je souhaitais vous présenter est la notion de surcharge ou de redéfinition. Par exemple, comme la peluche Furby a un langage plus élaboré que les autres peluches, nous voulons, et pouvons, redéfinir sa méthode parlée. Ainsi, plutôt que de dire Bonjour, notre Furby pourra dire des phrases aléatoires, sans aucun sens. Nous pouvons également dire que, dans la collection des ours en peluche, toutes les peluches sont toujours douces et définir par défaut la propriété Douceur à Très doux. Dans la collection des peluches de dessins animés, nous ne sommes intéressés que par le prix et le studio associé. Nous pouvons donc redéfinir la méthode de création d'une peluche de type dessin animé pour ne demander que ces deux informations. Et pour les peluches Disney, nous pouvons redéfinir la description de la collection comme étant Une peluche des studios Disney. Autrement dit, les méthodes et propriétés définies au niveau de notre collection Peluches peuvent être écrasées et modifiées au sein des collections héritant de la grande collection des peluches. Voyons un peu comment tout cela se traduit en Ruby. Vous voyez ici mes correspondances entre les syntaxes Ruby et les principes que je viens de vous présenter. Un objet se traduit par le mot-clé class Notez qu'en Ruby, le nom d'une class commence toujours par une majuscule. Une variable d'instance se traduira par le nom d'une variable précédé d'un arobase. Une variable de class sera identique à la variable d'instance mais avec un arobase supplémentaire. Je vous présente cette syntaxe mais sachez qu'elle n'est pas souvent rencontrée dans les applications Web car elle n'est pas forcément simple d'utilisation. Pour les méthodes d'instance, ce n'est guère différent des méthodes usuelles en Ruby, on utilise le mot-clé def La méthode initialize est un peu spéciale. Comme son nom l'indique, elle permet d'initialiser une nouvelle instance de notre objet ; autrement dit, son exécution sera systématique chaque fois que l'on crée une instance d'une class en particulier. Pour les méthode de class, il faut faire précéder le nom de la méthode par self. Enfin, pour l'héritage, on utilise le signe « < ». Ici, la class Ours hérite de la class Peluche. Cette vidéo vous a présenté, à l'aide de vaillantes peluches, les principes fondamentaux de la programmation orientée objet en Ruby.

L'essentiel de Ruby on Rails

Concevez des applications web évolutives et intemporelles avec Ruby on Rails. Installez l’environnement, réalisez un projet de stack overflow, enrichissez-le, etc.

6h08 (85 vidéos)
Aucun commentaire n´est disponible actuellement

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !