a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Ruby > 正文

rudy 繼承 概念

2020-10-29 19:47:47
字體:
來源:轉載
供稿:網友
在日常生活中,我們對一切對象的分類都是有一定層次的.我們知道所有的貓都是哺乳動物,而所有的哺乳動物又都是動物.小型的類從更大的
類中繼承它們的屬性.如果一切的哺乳動物要呼吸,那么貓也要呼吸.

在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類的行為.因此從程序員的角度出發,貓天生就擁有呼吸這一能力;當我們加上speak方法后,我們的貓就能呼吸,也可以發聲了.

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  


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

下一篇:分析 rudy 類

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 狠狠操中文字幕 | 国产v日产∨综合v精品视频 | 欧美精品三区 | 国产精品久久久久久久久久免费 | 精品亚洲精品 | 欧美成人一级片 | 综合色播 | 日韩中文字 | 国产精品一区二区三区网站 | 色片在线看 | 国产中文字幕在线观看 | 夜夜久久 | 国产成人99久久亚洲综合精品 | 午夜免费看片 | 狠狠躁夜夜躁人人爽视频 | 操操操操操操操操操操操操操操 | 国产不卡二区 | 亚洲一区二区在线免费观看 | 黄色免费网站视频 | 免费黄色影视 | 中文字幕在线观看第一页 | 超级乱淫片国语对白免费视频 | 欧美大片在线 | 日韩精品久久久久 | 精品国产乱码久久久久久1区2区 | 精品国产18久久久久久二百 | 久久久久久91 | 成人av自拍 | 999久久久免费精品国产 | 欧美日韩成人激情 | 国内精品国产成人国产三级粉色 | 天堂一区| 成人精品一区二区三区中文字幕 | 亚洲精品国产99 | 国产精品久久久久婷婷二区次 | 国产69久久 | 中文字幕亚洲视频 | www婷婷av久久久影片 | 久久艹视频 | 亚洲精品午夜aaa久久久 | 日韩精品一区二区三区中文在线 |