<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Ruby 類和對象 Ruby 是一種完美的面向對象編程語言。面向對象編程語言的特性包括: * 數據封裝 * 數據抽象 * 多態性 * 繼承 這些特性將在 [面向對象的 Ruby](ruby-object-oriented.html) 中進行討論。 一個面向對象的程序,涉及到的類和對象。類是個別對象創建的藍圖。在面向對象的術語中,您的自行車是自行車類的一個實例。 以車輛為例,它包括車輪(wheels)、馬力(horsepower)、燃油或燃氣罐容量(fuel or gas tank capacity)。這些屬性形成了車輛(Vehicle)類的數據成員。借助這些屬性您能把一個車輛從其他車輛中區分出來。 車輛也能包含特定的函數,比如暫停(halting)、駕駛(driving)、超速(speeding)。這些函數形成了車輛(Vehicle)類的數據成員。因此,您可以定義類為屬性和函數的組合。 類 Vehicle 的定義如下: ``` Class Vehicle { Number no_of_wheels Number horsepower Characters type_of_tank Number Capacity Function speeding { } Function driving { } Function halting { } } ``` 通過給這些數據成員分配不同的值,您可以創建類 Vehicle 的不同實例。例如,一架飛機有三個輪子,馬力 1,000,燃油罐容量為 100 升。以同樣的方式,一輛汽車有四個輪子,馬力 200,煤氣罐容量為 25 升。 ## 在 Ruby 中定義類 為了使用 Ruby 實現面向對象編程,您需要先學習如何在 Ruby 中創建對象和類。 在 Ruby 中,類總是以關鍵字 _class_ 開始,后跟類的名稱。類名的首字母應該大寫。類 _Customer_ 如下所示: ``` class Customer end ``` 您可以使用關鍵字 _end_ 終止一個類。_類_ 中的所有數據成員都是介于類定義和 _end_ 關鍵字之間。 ## Ruby 類中的變量 Ruby 提供了四種類型的變量: * **局部變量:**局部變量是在方法中定義的變量。局部變量在方法外是不可用的。在后續的章節中,您將看到有關方法的更多細節。局部變量以小寫字母或 _ 開始。 * **實例變量:**實例變量可以跨任何特定的實例或對象中的方法使用。這意味著,實例變量可以從對象到對象的改變。實例變量在變量名之前放置符號(@)。 * **類變量:**類變量可以跨不同的對象使用。類變量屬于類,且是類的一個屬性。類變量在變量名之前放置符號(@@)。 * **全局變量:**類變量不能跨類使用。如果您想要有一個可以跨類使用的變量,您需要定義全局變量。全局變量總是以美元符號($)開始。 ## 實例 使用類變量 @@no_of_customers,您可以判斷被創建的對象數量,這樣可以確定客戶數量。 ``` class Customer @@no_of_customers=0 end ``` ## 在 Ruby 中使用 _new_ 方法創建對象 對象是類的實例。現在您將學習如何在 Ruby 中創建類的對象。在 Ruby 中,您可以使用類的方法 _new_ 創建對象。 方法 _new_ 是一種獨特的方法,在 Ruby 庫中預定義。new 方法屬于_類_方法。 下面的實例創建了類 Customer 的兩個對象 cust1 和 cust2: ``` cust1 = Customer. new cust2 = Customer. new ``` 在這里,cust1 和 cust2 是兩個對象的名稱。對象名稱后跟著等號(=),等號后跟著類名,然后是點運算符和關鍵字 _new_。 ## 自定義方法來創建 Ruby 對象 您可以給方法 _new_ 傳遞參數,這些參數可用于初始化類變量。 當您想要聲明帶參數的 _new_ 方法時,您需要在創建類的同時聲明方法 _initialize_。 _initialize_ 方法是一種特殊類型的方法,將在調用帶參數的類的 _new_ 方法時執行。 下面的實例創建了 initialize 方法: ``` class Customer @@no_of_customers=0 def initialize(id, name, addr) @cust_id=id @cust_name=name @cust_addr=addr end end ``` 在本實例中,您可以聲明帶有 **id、name、addr** 作為局部變量的 _initialize_方法。在這里,_def_ 和 _end_ 用于定義 Ruby 方法 _initialize_。在后續的章節中,您將學習有關方法的更多細節。 在 _initialize_ 方法中,把這些局部變量的值傳給實例變量 @cust_id、@cust_name 和 @cust_addr。在這里,局部變量的值是隨著 new 方法進行傳遞的。 現在,您可以創建對象,如下所示: ``` cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala") ``` ## Ruby 類中的成員函數 在 Ruby 中,函數被稱為方法。_類_中的每個方法是以關鍵字 _def_ 開始,后跟方法名。 方法名總是以**小寫字母**開頭。在 Ruby 中,您可以使用關鍵字 _end_ 來結束一個方法。 下面的實例定義了一個 Ruby 方法: ``` class Sample def function statement 1 statement 2 end end ``` 在這里,_statement 1_ 和 _statement 2_ 是類 Sample 內的方法 _function_ 的主體的組成部分。這些語句可以是任何有效的 Ruby 語句。例如,我們可以使用方法 _puts_ 來輸出 _Hello Ruby_,如下所示: ``` class Sample def hello puts "Hello Ruby!" end end ``` 下面的實例將創建類 Sample 的一個對象,并調用 _hello_ 方法: ``` #!/usr/bin/ruby class Sample def hello puts "Hello Ruby!" end end # 使用上面的類來創建對象 object = Sample. new object.hello ``` 這將會產生下面的結果: ``` Hello Ruby! ``` ## 簡單的案例研究 如果您想要做更多有關類和對象的練習,這里有一個案例研究: **[Ruby 類案例](ruby-class-case-study.html "Ruby 類案例")**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看