麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

rudy 繼承 概念

2020-10-29 19:47:47
字體:
來源:轉載
供稿:網(wǎ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  


雖然我們并未指明一只貓要怎樣呼吸,但因為Cat是定義為Mammal的子類的(在OO術語里,較小的類叫子類,相比較大的類稱父類),每一只貓都將繼承來自于Mammal類的行為.因此從程序員的角度出發(fā),貓?zhí)焐蛽碛泻粑@一能力;當我們加上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 Penguin<Bird
    |   def fly
    |     fail "Sorry. I'd rather swim."
    |   end
    | end
   nil  


拋開腦盡力疲地為每一個新類定義屬性,我們只需要新增或重定義子類和父類之間的區(qū)別.繼承的這一用法有時也叫做特點編程(differential programming).這是面向對象編程的又一好處. 
上一篇:rudy 重載方法 詳解

下一篇:分析 rudy 類

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: a视频网站 | 国产成人自拍小视频 | 久色porn | 一区二区三区日韩精品 | 一级黄色在线观看 | 成人激情久久 | 欧美乱论| av之家在线观看 | 国产二区三区视频 | 亚洲视频欧美 | 午夜久久视频 | 夜夜看 | 日本中文视频 | 韩国精品久久久 | 欧美精品一区二区三区在线 | 曰本三级日本三级日本三级 | 日韩黄色片免费看 | 天天草天天操 | 成人福利视频 | 久久不雅视频 | 色99999| 久久新地址 | 欧美亚洲另类在线 | 成年人激情在线 | 欧美a视频在线观看 | 羞羞视频一区二区 | 久久成年网站 | 日日鲁夜夜视频热线播放 | 看免费黄色大片 | 天堂成人国产精品一区 | 国产午夜精品一区二区三区四区 | 欧美成人综合视频 | 在线观看第一区 | 久久精品视频亚洲 | 久草在线网址 | 欧美精品一区二区三区在线播放 | 午夜男人免费视频 | 天天看夜夜爽 | 草草视频免费观看 | 日日噜噜夜夜爽 | 在线观看免费污视频 |