婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > rudy 方法 分析

rudy 方法 分析

熱門標簽:巫師3地圖標注魔力之所 中牟外呼系統違法嗎 漯河電銷 淮安自動外呼系統供應商 AI電銷機器人 線路 天津外呼系統怎么收費 外呼線路從哪里出來的 征服者企業地圖標注 柯城手機地圖如何做地圖標注
 什么叫做一個方法呢?在OO編程里,我們不希望直接從外部操縱一個對象的數據;相反的,對象自己了解如何操縱自身(當被恰當地要求時).
你也許會說我們傳遞一條消息給一個對象,那些消息就會調用某類行為或者做有意義的回復.這些都會在我們無需了解或關心這個對象內部
工作機制的情況下發生.為我們所允許的可讓其執行的作業(或等價的,它能聽懂的消息)就是對象的方法. 

在ruby里,我們通過點(dot notation,正如C++或Java)來調用一個對象的方法.被調用的對象在點的左方給出.

ruby> "abcdef".length
   6  


表面上看,這一字符串被問及其長度.技術上看,我們正調用對象"abcdef"的length方法.

其它的對象也許擁有一個稍有不同的length接口,或者根本沒有.消息的如何應答在程序運行期間做決定,行為也取決于其所指變量.

ruby> foo = "abc"
   "abc"
ruby> foo.length
   3
ruby> foo = ["abcde", "fghij"]
   ["abcde", "fghij"]
ruby> foo.length
   2  


length的意義也會隨對象的變化而改變.在上例中,第一次我們叫foo返回其長度,它對應于一個簡單字符串,這里也就只有一種合理的答案.第二次,foo代表一個數組,我們也許會考慮其長度為2,5或10;但一般情況下最合適的答案當然是2(其它類型長度也應被很容易的猜出).

ruby> foo[0].length
   5
ruby> foo[0].length + foo[1].length
   10  


這里需注意的是一個數組了解其自身作為一個數組的意義.Ruby中的一部分代碼賦予了他們這一性質,因此對他們的需求可以自動的通過各種
適當的方法實現.由于相當少量的對應于我們在自然語言中所表達概念的方法名能被不同種類的數據如我們所愿地采用,這便將程序員從大量特殊函數名中解脫出來.OO編程語言的這一特點(在我看來,Java的這一點做的并不是很好)叫做多態(polymorphism). 

當一個對象碰到一個不能理解的信息,一個錯誤便會"發生":

ruby> foo = 5
   5
ruby> foo.length
ERR: (eval):1: undefined method `length' for 5(Fixnum)  


所以我們就需要了解什么方法是被這一對象所接受的,雖然我們并不需要了解這個方法是如何工作的.

如果要給方法賦參數,參數應在一對括號內,

object.method(arg1, arg2) 


如果不會引起歧義,括號可以去掉.

object.method arg1, arg2 


Ruby里有個特殊變量self;它指向任意調用方法的對象.由于"self"經常用到,為了方便它可被省掉:

self.method_name(args...) 


和這一樣

method_name(args...) 


我們傳統意義上的函數調用只不過是self方式調用的一種簡寫罷了.這也使Ruby可以叫作一種純正的面向對象語言.當然,為了那些搞不清在Ruby里函數調用其實就是對象方法的人,函數化的方法看起來很像在別的語言中的函數.如果我們喜歡,我們也可以叫它們函數,就仿佛他們不是真的對象方法一樣.  
 

標簽:克拉瑪依 棗莊 河池 西雙版納 內江 甘孜 大慶 南昌

巨人網絡通訊聲明:本文標題《rudy 方法 分析》,本文關鍵詞  rudy,方法,分析,rudy,方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《rudy 方法 分析》相關的同類信息!
  • 本頁收集關于rudy 方法 分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 安阳县| 米脂县| 灵台县| 荣成市| 宜兰市| 瓦房店市| 罗源县| 红桥区| 闵行区| 开江县| 陆良县| 安康市| 乐陵市| 江油市| 顺义区| 衢州市| 长治县| 库尔勒市| 阳江市| 安多县| 巴青县| 高台县| 白水县| 大安市| 龙口市| 新沂市| 成武县| 武陟县| 泰州市| 华坪县| 丹棱县| 洞头县| 玉树县| 洛南县| 通渭县| 阿克陶县| 海淀区| 讷河市| 佛教| 商城县| 两当县|