国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

rudy 繼承 概念

2019-10-26 19:19:04
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
在日常生活中,我們對(duì)一切對(duì)象的分類都是有一定層次的.我們知道所有的貓都是哺乳動(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ù)語(yǔ)里,較小的類叫子類,相比較大的類稱父類),每一只貓都將繼承來(lái)自于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  


也會(huì)遇到這樣的情況:父類的某些屬性不可以被某一特定的子類繼承.雖然一般鳥(niǎo)類都會(huì)飛,但企鵝是鳥(niǎo)類中不會(huì)飛的一個(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  


拋開(kāi)腦盡力疲地為每一個(gè)新類定義屬性,我們只需要新增或重定義子類和父類之間的區(qū)別.繼承的這一用法有時(shí)也叫做特點(diǎn)編程(differential programming).這是面向?qū)ο缶幊痰挠忠缓锰? 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 台北县| 太湖县| 民丰县| 梅州市| 康平县| 新兴县| 息烽县| 兴义市| 武汉市| 尼木县| 广水市| 瑞丽市| 成武县| 杂多县| 磴口县| 尼木县| 聊城市| 长寿区| 海兴县| 门头沟区| 沙河市| 五常市| 塔河县| 云南省| 阿克| 噶尔县| 周宁县| 富顺县| 怀仁县| 武冈市| 工布江达县| 云霄县| 鄢陵县| 铁力市| 安溪县| 滦南县| 通海县| 开化县| 喀喇| 兴仁县| 色达县|