最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

rudy 繼承 概念

 更新時(shí)間:2007年11月24日 14:10:10   作者:  
在日常生活中,我們對一切對象的分類都是有一定層次的.我們知道所有的貓都是哺乳動(dòng)物,而所有的哺乳動(dòng)物又都是動(dòng)物.小型的類從更大的
類中繼承它們的屬性.如果一切的哺乳動(dòng)物要呼吸,那么貓也要呼吸.

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

ruby> class Mammal
    |   def breathe
    |     print "inhale and exhale\n"
    |   end
    | end
   nil
ruby> class Cat<Mammal
    |   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  


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

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


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

相關(guān)文章

  • Ruby實(shí)現(xiàn)的3種快速排序算法

    Ruby實(shí)現(xiàn)的3種快速排序算法

    這篇文章主要介紹了Ruby實(shí)現(xiàn)的3種快速排序算法,本文給出了快速排序的普通版本、快速排序的隨機(jī)化版本、快速排序的利用了Ruby的語法糖的隨機(jī)化版本三個(gè)版本,需要的朋友可以參考下
    2015-05-05
  • Ruby中的Hash哈希類型基本操作方法小結(jié)

    Ruby中的Hash哈希類型基本操作方法小結(jié)

    Hash類型在Ruby中就相當(dāng)于Python的字典,是一個(gè)鍵值對應(yīng)的集合類型,這里就來整理一下Ruby中的Hash哈希類型基本操作方法小結(jié):
    2016-06-06
  • 幾個(gè)Ruby小技巧分享

    幾個(gè)Ruby小技巧分享

    這篇文章主要介紹了幾個(gè)Ruby小技巧分享,本文講解了代碼塊的序列調(diào)用、主要是說array在block中的使用、Hash#fetch、創(chuàng)建代碼段的散列等小技巧,需要的朋友可以參考下
    2015-05-05
  • Ruby初學(xué)筆記之Hello World

    Ruby初學(xué)筆記之Hello World

    這篇文章主要介紹了Ruby初學(xué)筆記之Hello World,本文是一篇Ruby自學(xué)筆記,本文分別用普通方法、函數(shù)、類輸出Hello World,從一個(gè)一個(gè)的例子中了解Ruby編程,需要的朋友可以參考下
    2015-06-06
  • Ruby on Rails中的ActiveResource使用詳解

    Ruby on Rails中的ActiveResource使用詳解

    這篇文章主要介紹了Ruby on Rails中的ActiveResource使用詳解,主要用于HTTP和請求響應(yīng)相關(guān)功能,需要的朋友可以參考下
    2015-08-08
  • 用Ruby進(jìn)行CGI編程的入門指引

    用Ruby進(jìn)行CGI編程的入門指引

    這篇文章主要介紹了用Ruby進(jìn)行CGI編程的入門指引,編寫CGI腳本也是Ruby用于網(wǎng)絡(luò)編程的一項(xiàng)基礎(chǔ)功能,需要的朋友可以參考下
    2015-05-05
  • ruby 數(shù)組使用教程

    ruby 數(shù)組使用教程

    ruby 數(shù)組使用教程...
    2007-11-11
  • 實(shí)例講解Ruby中的五種變量

    實(shí)例講解Ruby中的五種變量

    這篇文章主要介紹了Ruby中的五種變量,并用實(shí)例講解了其用法,是Ruby學(xué)習(xí)當(dāng)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-04-04
  • print不自動(dòng)換行,puts會自動(dòng)換行

    print不自動(dòng)換行,puts會自動(dòng)換行

    print不自動(dòng)換行,puts會自動(dòng)換行...
    2007-10-10
  • ruby 簡單例子

    ruby 簡單例子

    ruby 簡單例子...
    2007-11-11

最新評論

兴山县| 绥芬河市| 濮阳市| 绿春县| 万山特区| 永吉县| 洪江市| 浮山县| 宁海县| 沁水县| 商都县| 灵丘县| 阿拉尔市| 济源市| 公主岭市| 松桃| 开原市| 宿迁市| 伊吾县| 公安县| 大港区| 潮州市| 台东县| 九龙县| 西乌珠穆沁旗| 信阳市| 夏津县| 滨海县| 娄烦县| 瑞昌市| 乐安县| 台中市| 绥棱县| 阜新市| 长泰县| 禹城市| 拉孜县| 逊克县| 巴林右旗| 定安县| 通渭县|