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