Ruby编程中的静态成员
Ruby中的静态成员是通过类声明的。由于Ruby没有提供像static这样的保留关键字,当我们使用类变量时,我们创建了一个静态变量,然后我们可以声明该类的某个方法,其中该静态变量也定义为静态方法。
在Ruby中,有两种实现static关键字的方法:
静态变量
静态方法
在这篇文章中,我们将探讨这两种实现,首先,我们将探讨如何声明静态变量的代码示例,然后我们将看到如何声明静态方法。
静态变量
要声明静态变量,我们只需要声明一个类变量,它将充当静态变量,因为它对于类的所有实例都是通用的。简单来说,当我们谈论Ruby时,静态变量是使用类变量声明的。
当我们声明一个变量为静态时,将为其分配空间,直到程序的整个生命周期。
需要注意的是,静态变量的名称总是以@@符号开头。
示例1
考虑下面显示的代码,我们在其中声明一个静态变量。
class Coders
# static class variable
@@coders_count = 0
def initialize
@@coders_count += 1
puts "Number of Coders = #{@@coders_count}"
end
end
# creating objects of class Coders
a = Coders.new
b = Coders.new
c = Coders.new
d = Coders.new
e = Coders.new输出
它将产生以下输出:
Number of Coders = 1 Number of Coders = 2 Number of Coders = 3 Number of Coders = 4 Number of Coders = 5
在上面的代码中,我们有一个名为Coders的类,其中有一个名为coder_count的类变量。这个coder_count变量可以被我们创建的所有Coders类对象共享,因此充当静态变量。
静态方法
当我们在类中定义一个对类的所有实例都通用的方法时,我们可以称之为静态方法。
示例2
考虑下面显示的代码
class Coders
@@coders_count = 0
def incrementCoder
@@coders_count += 1
end
def self.getCount
return @@coders_count
end
end
# creating objects of class Coders
a = Coders.new
a.incrementCoder()
b = Coders.new
b.incrementCoder()
c = Coders.new
c.incrementCoder()
# calling class method
puts "Total Number of Coders = #{Coders.getCount()}"输出
它将生成以下输出:
Total Number of Coders are = 3
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP