Ruby類的建立與使用

來源:互聯網
上載者:User

標籤:style   blog   color   使用   java   sp   div   c   on   

Ruby是一種物件導向程式設計語言,這意味著它操縱的編程結構稱為"對象"

先上代碼, 瞭解類的定義與使用方式

class Computer  $manufacturer = "Mango Computer, Inc."  @@files = {hello: "Hello, world!"}    def initialize(username, password)    @username = username    @password = password  end    def current_user    @username  end    def self.display_files    @@files  endend# Make a new Computer instance:hal = Computer.new("Dave", 12345)puts "Current user: #{hal.current_user}"# @username belongs to the hal instance.puts "Manufacturer: #{$manufacturer}"# $manufacturer is global! We can get it directly.puts "Files: #{Computer.display_files}"# @@files belongs to the Computer class.---------------------------------------------------------------------輸出:Current user: DaveManufacturer: Mango Computer, Inc.Files: {:hello=>"Hello, world!"}nil

類的定義

class Computer  #class magic here end

根據Ruby命名規範, 類的名稱第一個字母要大寫,之後每個單詞的首字母大寫, 兩個單詞之間不再用底線_分隔

class Computer    def initialize            endend

觀察上面類的定義, 類中出現了initialize這個方法, 這個方法用來初始化類的對象,如果沒用這個方法,對象就無法產生對象。(對應於c++/java的建構函式)

class Computer  $manufacturer = "Mango Computer, Inc."  @@files = {hello: "Hello, world!"}    def initialize(username, password)    @username = username    @password = password  endend

在Ruby的世界裡, 我們用在一個變數名前加上@表示這個變數是一個執行個體變數,這意味著這個變數只能被類的執行個體所訪問。

局部變數只作用於某個具體的方法中。

變數名前有兩個@, 即@@的變數,叫做類變數,它並不屬於類的執行個體,而是屬於類自身(類似C++中的static變數)。

全域變數有兩種定義方式, 一種是定義在所有類和方法之外。如果你想把全域變數放入類中, 那麼採用另一種定義方式,在變數名之間加上$。

 

Ruby類的建立與使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.