Si vous souhaitez définir la même méthode pour plusieurs classes, et si vous définissez cette méthode pour l'ensemble de chaque classe, vous finirez par répéter la même description encore et encore. (Exemple 1) Classe 1 Classe 2 Classe 3 Méthode A Méthode A Méthode A Méthode B Méthode C Méthode D Lorsque plusieurs classes ont la même méthode, plus vous avez de classes, plus vous avez de code et plus il est difficile à gérer. Découvrons l'héritage de classe pour éviter cela.
L'héritage est le processus de définition d'une classe après avoir rendu une méthode définie dans une classe disponible pour une autre nouvelle classe.
L'héritage de classe a une relation parent-enfant. La classe d'origine est appelée la classe parente et la classe nouvellement créée qui hérite des méthodes de la classe parente est appelée la classe enfant. Créez une classe de «voitures», qui est un concept supérieur de voitures et de camions de patrouille, et définissez-y les caractéristiques communes. En héritant des caractéristiques de la voiture (classe parente), il n'est pas nécessaire de décrire les caractéristiques de la voiture sur la voiture de patrouille (classe enfant) et le camion (classe enfant). En conséquence, vous n'avez qu'à écrire les caractéristiques de la voiture et du camion de patrouille, et chaque caractéristique est facile à comprendre.
Lors de l'héritage d'une classe, utilisez "<" lors de la déclaration de la classe et écrivez comme suit.
classe Nom de classe enfant<Nom de la classe parent
end
Maintenant, écrivons l'exemple de la voiture ci-dessus avec du code qui utilise réellement l'héritage de classe. Tout d'abord, définissez la classe parente.
Classe de voiture (classe parente)
class Car
def speed_up
puts "Accélérer"
end
def speed_down
puts "Ralentir"
end
def horn
puts "Pupoo"
end
end
La classe parent définit le comportement commun de la voiture. Ensuite, définissez chaque classe enfant. Cette fois, nous définirons la voiture de patrouille et le camion comme voiture de patrouille et voiture de camion, respectivement.
Classe PatrolCar (classe enfant)
class PatrolCar < Car #Héritage de classe
def siren
puts "Pea Po Pea Po"
end
end
Classe TruckCar (classe enfant)
class TruckCar < Car #Héritage de classe
def carry
puts "Je porterai mes bagages"
end
end
En définissant une méthode commune à la classe parent, la quantité de code dans la classe enfant est réduite et il est plus facile à voir. C'est également un gros avantage de l'utilisation de l'héritage, mais vous pouvez voir à partir du code ci-dessus que vous pouvez facilement refléter la modification de la classe enfant simplement en changeant la méthode commune définie dans la classe parent.
En utilisant l'héritage de classe, vous pouvez écrire du code propre sans écrire de manière répétée des méthodes courantes, alors veuillez l'écrire!
Recommended Posts