App下載

ruby 在線工具

#!/usr/bin/ruby -w

# 定義類
class Box
   # 構(gòu)造器方法
   def initialize(w,h)
      @width, @height = w, h
   end

   # 實(shí)例方法默認(rèn)是 public 的
   def getArea
      getWidth() * getHeight
   end

   # 定義 private 的訪問器方法
   def getWidth
      @width
   end
   def getHeight
      @height
   end
   # make them private
   private :getWidth, :getHeight

   # 用于輸出面積的實(shí)例方法
   def printArea
      @area = getWidth() * getHeight
      puts "Big box area is : #@area"
   end
   # 讓實(shí)例方法是 protected 的
   protected :printArea
end

# 創(chuàng)建對象
box = Box.new(10, 20)

# 調(diào)用實(shí)例方法
a = box.getArea()
puts "Area of the box is : #{a}"

# 嘗試調(diào)用 protected 的實(shí)例方法
box.printArea()
運(yùn)行結(jié)果