Miembros estáticos ruby

En programación, las palabras clave estáticas se utilizan principalmente para la gestión de la memoria. La palabra clave estática se usa para compartir el mismo método o variable de una clase entre los objetos de esa clase. Hay varios miembros de una clase en Ruby. Una vez que se crea un objeto en Ruby, los métodos y variables para ese objeto están dentro del objeto de esa clase. Los métodos pueden ser públicos, privados o protegidos, pero no existe el concepto de método estático o variable en Ruby. Ruby no tiene una palabra clave estática que indique que un método en particular pertenece al nivel de clase. Sin embargo, la variable estática se puede implementar en Ruby usando una variable de clase y un método estático se puede implementar en Ruby usando una variable de clase en uno de los métodos de esa clase. En Ruby, hay dos implementaciones para la palabra clave estática: Variable estática:Una Clase puede tener variables que son comunes a todas las instancias de la clase. Estas variables se denominan variables estáticas. Una variable estática se implementa en Ruby usando una variable de clase. Cuando una variable se declara como estática, se le asigna espacio durante la vida útil del programa. El nombre de la variable de clase siempre comienza con el símbolo @@. 

Ejemplo : 

Ruby

# Ruby program to demonstrate Static Variable
  
class Geeks
 
    # class variable
    @@geek_count = 0
 
    def initialize
        @@geek_count += 1
        puts "Number of Geeks = #{@@geek_count}"
    end
end
 
# creating objects of class Geeks
g1 = Geeks.new
g2 = Geeks.new
g3 = Geeks.new
g4 = Geeks.new

Producción:

Number of Geeks = 1
Number of Geeks = 2
Number of Geeks = 3
Number of Geeks = 4

En el programa anterior, la clase Geeks tiene una variable de clase geek_count. Esta variable geek_count se puede compartir entre todos los objetos de la clase Geeks. las variables estáticas son compartidas por los objetos Método estático: una clase puede tener un método que es común a todas las instancias de la clase. Dichos métodos se denominan métodos estáticos. Los métodos estáticos se pueden implementar en Ruby utilizando variables de clase en los métodos de esa clase. Ejemplo : 

Ruby

# Ruby program to demonstrate Static Method
 
class Geeks
     
    #class method
    @@geek_count = 0
 
    # defining instance method
    def incrementGeek
        @@geek_count += 1
    end
    # defining class method
    def self.getCount
        return @@geek_count
    end
end
 
# creating objects of class Geeks
g1 = Geeks.new
# calling instance method
g1.incrementGeek()
 
g2 = Geeks.new
# calling instance method
g2.incrementGeek()
 
g3 = Geeks.new
# calling instance method
g3.incrementGeek()
 
g4 = Geeks.new
# calling instance method
g4.incrementGeek()
 
# calling class method
puts "Total Number of Geeks = #{Geeks.getCount()}"

Producción:

Total Number of Geeks = 4

En el programa anterior, incrementGeek() el método getCount() es el método estático (clase) de la clase Geeks que se puede compartir entre todos los objetos de la clase Geeks. Las funciones de miembros estáticos solo pueden acceder a los miembros de datos estáticos u otras funciones de miembros estáticos, no pueden acceder a los miembros de datos no estáticos ni a las funciones de miembros.

Publicación traducida automáticamente

Artículo escrito por riturajsaha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *