Jusqu'à présent, je n'ai pas clairement compris les concepts importants de Ruby, tels que les instances et les classes, je vais donc les expliquer avec des exemples. Je pense que c'est quelque chose que vous devez absolument savoir pour utiliser Ruby, mais ce n'était pas facile à comprendre.
・ Pour ceux qui découvrent Ruby ・ Personnes dont les classes et les instances sont ambiguës
À titre d'exemple, supposons que les utilisateurs publient avec les identifiants 1 à 3 comme indiqué ci-dessous sous la classe Tweet dans un service comme Twitter.
À ce stade, chaque message entouré d'un carré noir est une ** instance **. On dit que les instances sont des objets créés à partir de types de classe. Et Tweet est ** classe **. Une image d'une instance appartenant à une classe. C'est un concept important dans Ruby! !!
class Tweet
#Méthode de classe
def self.tweet
puts "tweet"
end
#Méthode d'instance
def post_tweet(user,about)
puts "#{user}Est#{about}Publié à propos de"
end
end
#Courir
Tweet.tweet
new_tweet = Tweet.new()
new_tweet.post_tweet("choco","la programmation")
Après exécution
tweet
choco a posté sur la programmation
-Appel avec "nom de classe. méthode" en dehors de la classe. (Tweet.tweet dans l'exemple ci-dessus) ・ Si vous vous coupez, vous vous fâchez. (** se déclarer comme une méthode de classe **) => Vous pouvez le définir avec ** self. Nom de la méthode ~~ end ** dans la classe. -Tous, new, etc. sont des méthodes de classe prédéfinies qui vous permettent d'opérer sur des classes. (All obtient toutes les instances de la classe, new crée une nouvelle instance dans la classe)
-Appel avec "instance name.method" hors classe. (Dans l'exemple ci-dessus, new_tweet.post_tweet) Étant donné que l'instance appartient à une classe, créez une instance avec ** nom de classe.new ** et exécutez la méthode sur cette instance. -En gros, je pense que les méthodes d'instance sont souvent utilisées lors de la mise en œuvre.
En écrivant cet article, j'ai pensé que Ruby était une conception très facile à comprendre et intuitive. À partir de maintenant, je vais essayer de définir la méthode avec une plus grande conscience de la classe d'instance.
Merci à tous ceux qui l'ont lu. Si vous avez des suggestions, n'hésitez pas à nous contacter.
Recommended Posts