[RUBY] Prise en compte des classes et des instances

À propos des classes et des instances

Je ne comprenais pas la portée des champs de classe, des méthodes de classe, des méthodes d'instance et la portée de l'effet des variables d'instance, alors je les ai résumées.

J'ai approfondi ma compréhension, mais un nouveau mystère est né.

Je vous serais reconnaissant si vous pouviez me dire des suggestions ou des suppléments.

◆ Description (explication)
class Zoo
def self.kind(animal_name)
@animal_name = animal_name
puts @animal_name #production:Girafe
puts animal_name #production:Girafe
puts @name #production:Vide
puts name #production:Zoo
end

def self.kind_name
puts @animal_name #production:Girafe
# puts animal_name #production:NameError
end

puts @animal_name #production:Vide
# puts animal_name #production:NameError

def initialize(new_animal)
@new = new_animal
puts "#{@new}A augmenté." #production:新たな仲間A augmenté.
end

def kind(name)
@name = name
puts @animal_name #production:Vide
# puts animal_sortie de nom:NameError
puts @name #production:Lion
puts name #production:Lion
end

puts @name #production:Vide
puts name #production:Zoo

def color(animal_color)
@color = animal_color
#met la sortie de nom:NameError
puts "#{@new}de#{@name}Est#{@color}est" #production:新たな仲間deライオンEst黄色est
#met la sortie de nom:NameError
end
end

Zoo.kind("Girafe") 
#Méthode de classe auto.Bonne exécution
Zoo.kind_name
#Méthode de classe auto.kind_Nom de la course

animal = Zoo.new("Nouveau compagnon") 
#Créer une instance animale, exécuter la méthode initialize
puts animal.kind("Lion") 
#Exécution de la méthode d'instance kind de l'instance animale

puts animal.color("Jaune") 
#Exécution de la méthode d'instance de couleur de l'instance animale
 
#↓ Hors de portée
# puts @animal_sortie de nom:Vide
# puts animal_sortie de nom:NameError
# puts @sortie de nom:Vide
#met la sortie de nom:NameError

◆ Contenu de la sortie du terminal


Zoo
Girafe
Girafe

Zoo
Girafe
De nouveaux amis ont été ajoutés.

Lion
Lion

Le nouveau compagnon lion est jaune

◆ Conclusion

-Le contenu de sortie sera le contenu lu dans l'ordre à partir du haut, y compris la partie classe.

-Les variables d'instance sont entre les méthodes de classe ou entre les méthodes d'instance. Il est possible de sortir les uns des autres. Cependant, comme vous ne pouvez pas créer d'instance dans une méthode de classe, @ Est juste un tube qui relie les méthodes de classe.

-Bien que la variable d'instance ne provoque pas d'erreur de nom même si elle est placée en dehors de la portée, Il crée un vide dans la destination de sortie.

◆ Nouvelle question

-Pourquoi dans un champ de classe autre qu'une méthode d'instance (y compris une méthode de classe) Le nom de la classe est-il généré lorsqu'un nom non défini est généré?

Recommended Posts

Prise en compte des classes et des instances
À propos des classes et des instances
À propos des classes et des instances (évolution)
À propos des classes et des instances Ruby
[Ruby] Classes et instances
java (classe et instance)
Premiers pas avec Java_Chapter 8_A propos des "Instances" et des "Classes"
Création de classes et d'instances Ruby
Différences entre les classes et les instances dans Ruby
Organiser les classes, les instances et les variables d'instance
Considération sur les rails et l'architecture propre
Classes et instances Java pour les débutants
Programmation Java (classes et instances, méthodes principales)
À propos de la classe standard
Écrire du code à l'aide de classes et d'instances Ruby
classe java, instance, objet
Classes HashMap et HashSet
À propos de Bean et DI
[Java] À propos des classes anonymes
À propos de gets et gets.chomp
À propos de la redirection et du transfert
À propos de l'encapsulation et de l'héritage
Liste et cours heureux
À propos de Serializable et serialVersionUID
Classes et instances Java comprises dans la figure
[Pour les débutants] Explication des classes, des instances et des statiques en Java
À propos de l'instruction et de l'instruction if
À propos du verrouillage synchronisé et réentrant
[Java] Classe générique et méthode générique
À propos des hachages et symboles Ruby
[Java] À propos de String et StringBuilder
À peu près la même et la même valeur
À propos de la méthode Pluck et de la méthode ID
À propos du package Java et de l'importation
À propos de Ruby, modèle objet
Prise en compte de la méthode des temps
[Ruby] Méthodes singulières et classes singulières
À propos de la classe abstraite Java
Méthodes et classes Ruby (basiques)
À propos des variables d'instance et attr_ *
Méthodes et classes abstraites Java
À propos des méthodes Java statiques et non statiques
À propos de Biocontainers fastqc et Java
En savoir plus sur les gemmes et les bundlers
À propos des méthodes equals () et hashcode ()
[Java débutant] À propos de l'abstraction et de l'interface
À propos des guillemets simples et doubles Ruby
[Ruby] Classes, variables d'instance, instances, etc ...
Comment appeler des classes et des méthodes
À propos de l'opérateur de produit Ruby (&) et de l'opérateur somme (|)
À propos de removeAll et de retentionAll de ArrayList
Java Generics (définit les classes et les méthodes)
Traitement des relevés et des succursales