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

Classe Vehicle { Number no_of_wheels Number horsepower Characters type_of_tank Number Capacity Fonction speeding { } Fonction driving { } Fonction halting { } }

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 :

class Customer end

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

class Customer @@no_of_customers=0 end

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 :

cust1 = Customer. new cust2 = Customer. nouveau

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

class Customer @@no_of_customers=0 def initialize(id, name, addr) @cust_id=id @cust_name=name @cust_addr=addr end end

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 :

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

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 :

class Sample def function statement 1 statement 2 end end

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 :

class Sample def hello puts "Hello Ruby!" end end

L'exemple suivant crée un objet de la classe Sample et appelle la méthodehello:

#!/usr/bin/ruby class Sample def hello puts "Hello Ruby!" end end #Utilisation de la classe ci-dessus pour créer des objets object = Sample. new object.hello

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 :

Exemples de classes Ruby

Autres extensions