主頁 > 知識庫 > rudy 繼承 概念

rudy 繼承 概念

熱門標(biāo)簽:AI電銷機(jī)器人 線路 天津外呼系統(tǒng)怎么收費(fèi) 征服者企業(yè)地圖標(biāo)注 外呼線路從哪里出來的 淮安自動外呼系統(tǒng)供應(yīng)商 中牟外呼系統(tǒng)違法嗎 漯河電銷 柯城手機(jī)地圖如何做地圖標(biāo)注 巫師3地圖標(biāo)注魔力之所
在日常生活中,我們對一切對象的分類都是有一定層次的.我們知道所有的貓都是哺乳動物,而所有的哺乳動物又都是動物.小型的類從更大的
類中繼承它們的屬性.如果一切的哺乳動物要呼吸,那么貓也要呼吸.

在Ruby里,我們可以這樣表述這一概念:

ruby> class Mammal
    |   def breathe
    |     print "inhale and exhale\n"
    |   end
    | end
   nil
ruby> class CatMammal
    |   def speak
    |     print "Meow\n"
    |   end
    | end
   nil  


雖然我們并未指明一只貓要怎樣呼吸,但因?yàn)镃at是定義為Mammal的子類的(在OO術(shù)語里,較小的類叫子類,相比較大的類稱父類),每一只貓都將繼承來自于Mammal類的行為.因此從程序員的角度出發(fā),貓?zhí)焐蛽碛泻粑@一能力;當(dāng)我們加上speak方法后,我們的貓就能呼吸,也可以發(fā)聲了.

ruby> tama = Cat.new
   #Cat:0xbd80e8>
ruby> tama.breathe
inhale and exhale
   nil
ruby> tama.speak
Meow
   nil  


也會遇到這樣的情況:父類的某些屬性不可以被某一特定的子類繼承.雖然一般鳥類都會飛,但企鵝是鳥類中不會飛的一個子類.

ruby> class Bird
    |   def preen
    |     print "I am cleaning my feathers."
    |   end
    |   def fly
    |     print "I am flying."
    |   end
    | end
   nil
ruby> class PenguinBird
    |   def fly
    |     fail "Sorry. I'd rather swim."
    |   end
    | end
   nil  


拋開腦盡力疲地為每一個新類定義屬性,我們只需要新增或重定義子類和父類之間的區(qū)別.繼承的這一用法有時也叫做特點(diǎn)編程(differential programming).這是面向?qū)ο缶幊痰挠忠缓锰? 

標(biāo)簽:內(nèi)江 甘孜 大慶 河池 克拉瑪依 棗莊 西雙版納 南昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《rudy 繼承 概念》,本文關(guān)鍵詞  rudy,繼承,概念,rudy,繼承,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《rudy 繼承 概念》相關(guān)的同類信息!
  • 本頁收集關(guān)于rudy 繼承 概念的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章

    上一篇:分析 rudy 類

    下一篇:rudy 重載方法 詳解