Facile à comprendre la différence entre la méthode d'instance Ruby et la méthode de classe.

introduction

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.

Objet de cet article

・ Pour ceux qui découvrent Ruby ・ Personnes dont les classes et les instances sont ambiguës

Qu'est-ce qu'une classe d'instance?

À 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. Tweet.png

À 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! !!

Comprendre dans le code

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

Méthode de classe => Méthode effectuée sur la classe.

-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)

Méthode d'instance => Méthode effectuée sur l'instance.

-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.

fin

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

Facile à comprendre la différence entre la méthode d'instance Ruby et la méthode de classe.
Différence entre la méthode d'instance et la méthode de classe
Différence entre classe et instance
Différence entre la variable d'instance et la variable de classe
Différence entre la variable d'instance Ruby et la variable locale
[Ruby] Peut-être que vous ne comprenez pas vraiment? [Différence entre la classe et le module]
[Ruby] Relation entre la classe parent et la classe enfant. Relation entre classe et instance.
[Java] Comprendre la différence entre List et Set
[iOS] Comprendre la différence entre le cadre et les limites
Comprenez la différence entre les classes abstraites et les interfaces!
[Ruby] J'ai réfléchi à la différence entre each_with_index et each.with_index
Différences entre les classes et les instances dans Ruby
Différence entre les variables et les variables d'instance
Différence entre Java et JavaScript (comment trouver la moyenne)
Remplaçons la différence entre == (identité) et méthode equals (équivalence)
La différence entre la programmation qui utilise des classes Ruby et la programmation qui n'utilise pas
[Ruby] Différence entre obtenir et publier
Différence entre interface et classe abstraite
Différence entre l'opérateur == et la méthode égale
[Ruby] Différence entre is_a? Et instance_of?
Différence entre l'opérateur == et la méthode eqals
Remarque: Différence entre Ruby "p" et "met"
[Ruby] Des bases à la méthode inject
[Java] Différences entre les variables d'instance et les variables de classe
À propos de la différence entre irb et pry
Différence entre "|| =" et "instance_variable_defined?" Dans Ruby memo
[Facile] Comment mettre à niveau Ruby et le bundler
[Rails] J'ai étudié la différence entre une nouvelle méthode, une méthode de sauvegarde, une méthode de construction et une méthode de création.
Comprendre la différence entre int et Integer et BigInteger en java et float et double
Quelle est la différence entre SimpleDateFormat et DateTimeFormatter? ??
[Ruby] Différence entre les put et les retours, les valeurs de sortie et de retour
[Rails] Différence entre la méthode de création et la méthode nouvelle + sauvegarde
Ruby Comment convertir entre les majuscules et les minuscules
[Introduction à Ruby] Comment utiliser la méthode slice
[Promotion de la compréhension de Ruby (1)] Lorsque vous passez de Java à Ruby, commencez par comprendre la différence.
[Rails] J'ai étudié la différence entre les ressources et les ressources
Quelle est la différence entre System Spec et Feature Spec?
Comment envoyer des transactions Ethereum Différence entre send et sendAsync
Liez la demande à n'importe quelle classe et recevez-la
Calculer la différence entre les nombres dans un tableau Ruby
[Rails] Quelle est la différence entre la redirection et le rendu?
Comparez la différence entre dockerfile avant et après docker-slim
[JAVA] Quelle est la différence entre interface et abstract? ?? ??
Différence entre Spring AOP et la classe cible de la bibliothèque
Classes et instances Java comprises dans la figure
Comprenez en 3 minutes! Une explication très approximative de la différence entre session et cookie
Quelle est la différence entre ignorer et en attente? [RSpec]
Comment créer et exécuter des objets de classe Méthode, Proc, Méthode
[Ruby] Imbrication de classes, héritage et principes de base de soi