Ruby Classes et objets
Ruby est un langage de programmation orienté objet parfait. Les caractéristiques des langages de programmation orientés objet incluent :
- Encapsulation des données
- Abstraction des données
- Polymorphisme
- Héritage
Ces fonctionnalités serontRuby orienté objetabordées dans.
Un programme orienté objet implique des classes et des objets. Une classe est un plan à partir duquel des objets individuels sont créés. Dans la terminologie orientée objet, votre bicyclette est une instance de la classe des bicyclettes.
Prenons les véhicules comme exemple ; ils comprennent les roues, la puissance, et la capacité du réservoir de carburant ou de gaz. Ces attributs forment les membres de données de la classe Vehicle. Avec ces attributs, vous pouvez distinguer un véhicule d'un autre.
Les véhicules peuvent également contenir des fonctions spécifiques, telles que l'arrêt, la conduite et l'accélération. Ces fonctions forment les membres de données de la classe Vehicle. Par conséquent, vous pouvez définir une classe comme une combinaison d'attributs et de fonctions.
La définition de la classe Vehicle est la suivante :
Exemple
En affectant différentes valeurs à ces membres de données, vous pouvez créer différentes instances de la classe Vehicle. Par exemple, un avion a trois roues, 1,000 chevaux, et une capacité de réservoir de carburant de 100 litres. De la même manière, une voiture a quatre roues, 200 chevaux, et une capacité de réservoir d’essence de 25 litres.
Définition de classes en Ruby
Afin de mettre en œuvre la programmation orientée objet en Ruby, vous devez d'abord apprendre à créer des objets et des classes en Ruby.
En Ruby, les classes commencent toujours par le mot-cléclasssuivi du nom de la classe. La première lettre du nom de la classe doit être en majuscule. La classeCustomerest la suivante :
Vous pouvez utiliser le mot-cléendpour terminer une classe.ClasseTous les membres de données sont placés entre la définition de la classe et leendmot-clé.
Variables dans les classes Ruby
Ruby propose quatre types de variables :
- Variables locales :Les variables locales sont des variables définies à l'intérieur d'une méthode. Les variables locales ne sont pas disponibles en dehors de la méthode. Dans les chapitres suivants, vous verrez plus de détails sur les méthodes. Les variables locales commencent par une lettre minuscule ou _.
- Variables d'instance :Les variables d'instance peuvent être utilisées dans toutes les méthodes au sein de n'importe quelle instance ou objet particulier. Cela signifie que les variables d'instance peuvent changer d'un objet à l'autre. Les variables d'instance ont le symbole (@) placé avant le nom de la variable.
- Variables de classe :Les variables de classe peuvent être utilisées dans différents objets. Les variables de classe appartiennent à la classe et sont un attribut de la classe. Les variables de classe ont le symbole (@@) placé avant le nom de la variable.
- Variables globales :Les variables de classe ne peuvent pas être utilisées entre les classes. Si vous voulez avoir une variable qui peut être utilisée entre les classes, vous devez définir une variable globale. Les variables globales commencent toujours par le signe dollar ($).
Exemple
En utilisant la variable de classe @@no_of_customers, vous pouvez déterminer le nombre d'objets créés, et donc déterminer le nombre de clients.
Exemple
En Ruby, en utilisant la méthodenewpour créer des objets
Les objets sont des instances de classes. Vous allez maintenant apprendre comment créer des objets d'une classe en Ruby. En Ruby, vous pouvez utiliser la méthode de classenewpour créer des objets.
La méthodenewest une méthode spéciale, prédéfinie dans la bibliothèque Ruby. La méthode new appartient à la méthodeClass.
L'exemple suivant crée deux objets de la classe Customer, cust1 et cust2 :
Ici, cust1 et cust2 sont les noms des deux objets. Le nom de l'objet est suivi d'un signe égal (=), le signe égal est suivi du nom de la classe, puis de l'opérateur point et du mot-clénew。
Méthodes personnalisées pour créer des objets Ruby
Vous pouvez passer des paramètres à la méthodenew, qui peuvent être utilisés pour initialiser des variables de classe.
Lorsque vous voulez déclarer une méthode avec des paramètresnewméthode, vous devez déclarer la méthode lors de la création de la classe.initialize。
initializeLa méthode est un type spécial de méthode, qui sera exécutée lorsque la classe avec paramètres'newméthode est appelée.
L'exemple suivant crée la méthode initialize :
Exemple
Dans cet exemple, vous pouvez déclarer une méthode avecid、name、addrcomme variables localesinitializeméthode. Ici,defetendest utilisé pour définir des méthodes Ruby.initializeDans les chapitres suivants, vous apprendrez plus de détails sur les méthodes.
DansinitializeDans la méthode, les valeurs de ces variables locales sont transmises aux variables d'instance @cust_id, @cust_name et @cust_addr. Ici, les valeurs des variables locales sont transmises avec la méthode new.
Maintenant, vous pouvez créer des objets comme suit :
Fonctions membres dans les classes Ruby
En Ruby, les fonctions sont appelées méthodes.ClasseChaque méthode qu'elle contient commence par le mot-clédefsuivi du nom de la méthode.
Les noms de méthodes commencent toujours par deslettres minuscules. En Ruby, vous pouvez utiliser le mot-cléendpour terminer une méthode.
L'exemple suivant définit une méthode Ruby :
Ici,statement 1etstatement 2constituent la méthode à l'intérieur de la classe Sample,functionet les suivants sont les composants de son corps. Ces instructions peuvent être n'importe quelles instructions Ruby valides. Par exemple, nous pouvons utiliser la méthodeputspour afficherHello Ruby, comme suit :
L'exemple suivant crée un objet de la classe Sample et appelle la méthodehello:
Cela produira le résultat suivant :
Hello Ruby!
Étude de cas simple
Si vous souhaitez faire plus d'exercices sur les classes et les objets, voici une étude de cas :
Autres extensions