91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Ruby單例模式如何實現

小樊
82
2024-11-01 22:23:07
欄目: 編程語言

在 Ruby 中,您可以使用模塊來實現單例模式。以下是一個簡單的示例:

# 創建一個名為 Singleton 的模塊
module Singleton
  # 使用一個類變量(@instance)來存儲唯一的實例
  @@instance = nil

  # 初始化方法,用于創建唯一實例
  def self.instance
    # 如果 @instance 為 nil,則創建一個新實例并將其賦值給 @instance
    unless @@instance
      @@instance = self.new
    end

    # 返回唯一的實例
    @@instance
  end

  # 定義一個實例方法,用于返回當前實例
  def self.instance
    @@instance
  end
end

# 使用 Singleton 模塊創建一個名為 MyClass 的類
class MyClass
  include Singleton

  # 定義一個實例變量
  attr_accessor :name

  # 初始化方法,用于設置實例變量
  def initialize(name)
    @name = name
  end
end

# 創建 MyClass 的唯一實例
my_instance1 = MyClass.instance
my_instance1.name = "Alice"

# 創建 MyClass 的另一個實例
my_instance2 = MyClass.instance
my_instance2.name = "Bob"

# 輸出兩個實例的名稱,它們應該是相同的,因為它們共享同一個實例
puts my_instance1.name # 輸出 "Alice"
puts my_instance2.name # 輸出 "Alice"

在這個示例中,我們創建了一個名為 Singleton 的模塊,它包含一個類變量 @instance 和兩個實例方法 instanceinstance 方法用于創建唯一實例(如果尚未創建),并返回該實例。我們使用這個模塊創建了一個名為 MyClass 的類,并包含了 Singleton 模塊。這意味著 MyClass 只有一個實例,可以通過調用 MyClass.instance 來獲取。

0
襄汾县| 青岛市| 丹东市| 梧州市| 厦门市| 泸定县| 化德县| 简阳市| 容城县| 海盐县| 象州县| 富源县| 洞头县| 广元市| 安宁市| 聂荣县| 岳普湖县| 喀喇沁旗| 焦作市| 陆良县| 岑巩县| 施甸县| 清远市| 山东省| 永和县| 上高县| 旅游| 珠海市| 崇仁县| 江山市| 石台县| 衡南县| 桂阳县| 凉城县| 留坝县| 宝山区| 丹凤县| 石门县| 合江县| 彭阳县| 湘阴县|