亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

rudy 繼承 概念

 更新時(shí)間:2007年11月24日 14:10:10   作者:  
在日常生活中,我們對(duì)一切對(duì)象的分類(lèi)都是有一定層次的.我們知道所有的貓都是哺乳動(dòng)物,而所有的哺乳動(dòng)物又都是動(dòng)物.小型的類(lèi)從更大的
類(lèi)中繼承它們的屬性.如果一切的哺乳動(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的子類(lèi)的(在OO術(shù)語(yǔ)里,較小的類(lèi)叫子類(lèi),相比較大的類(lèi)稱父類(lèi)),每一只貓都將繼承來(lái)自于Mammal類(lèi)的行為.因此從程序員的角度出發(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ì)遇到這樣的情況:父類(lèi)的某些屬性不可以被某一特定的子類(lèi)繼承.雖然一般鳥(niǎo)類(lèi)都會(huì)飛,但企鵝是鳥(niǎo)類(lèi)中不會(huì)飛的一個(gè)子類(lèi).

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è)新類(lèi)定義屬性,我們只需要新增或重定義子類(lèi)和父類(lèi)之間的區(qū)別.繼承的這一用法有時(shí)也叫做特點(diǎn)編程(differential programming).這是面向?qū)ο缶幊痰挠忠缓锰? 

相關(guān)文章

  • 簡(jiǎn)單對(duì)比分析Ruby on Rails 和 Laravel

    簡(jiǎn)單對(duì)比分析Ruby on Rails 和 Laravel

    web應(yīng)用程序開(kāi)發(fā)中兩個(gè)相對(duì)而言更加流行的框架是 Ruby on Rails 和 Laravel. 它們兩個(gè)都是非常成熟的項(xiàng)目,已經(jīng)面世相當(dāng)長(zhǎng)一段時(shí)間了 .
    2014-07-07
  • 詳解Ruby中的單件方法和單件類(lèi)

    詳解Ruby中的單件方法和單件類(lèi)

    單件方法顧名思義,就是只作用于單個(gè)對(duì)象的方法,同理單件類(lèi)就是單件方法所存在的類(lèi),規(guī)定其作用域,這里我們就來(lái)詳解Ruby中的單件方法和單件類(lèi):
    2016-06-06
  • ruby元編程之method_missing的一個(gè)使用細(xì)節(jié)

    ruby元編程之method_missing的一個(gè)使用細(xì)節(jié)

    這篇文章主要介紹了ruby元編程之method_missing的一個(gè)使用細(xì)節(jié),本文介紹在使用method_missing時(shí)造成死循環(huán)的一個(gè)現(xiàn)象,需要的朋友可以參考下
    2015-05-05
  • Ruby基礎(chǔ)知識(shí)之類(lèi)

    Ruby基礎(chǔ)知識(shí)之類(lèi)

    這篇文章主要介紹了Ruby基礎(chǔ)知識(shí)之類(lèi),本文講解了類(lèi)的創(chuàng)建、訪問(wèn)器、類(lèi)變量、常量、類(lèi)方法、方法的訪問(wèn)性、工廠方法、模塊module等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Ruby中使用正則表達(dá)式的基礎(chǔ)指引

    Ruby中使用正則表達(dá)式的基礎(chǔ)指引

    這篇文章主要介紹了Ruby中使用正則表達(dá)式的基礎(chǔ)指引,如今對(duì)正則表達(dá)式的支持已經(jīng)成為各編程語(yǔ)言的標(biāo)配屬性,需要的朋友可以參考下
    2015-07-07
  • Ruby使用Mysql2連接操作MySQL

    Ruby使用Mysql2連接操作MySQL

    這篇文章主要介紹了Ruby使用Mysql2連接操作MySQL,需要的朋友可以參考下
    2022-04-04
  • ruby寫(xiě)掃描當(dāng)前網(wǎng)頁(yè)所有url的腳本

    ruby寫(xiě)掃描當(dāng)前網(wǎng)頁(yè)所有url的腳本

    用ruby寫(xiě)的掃描當(dāng)前網(wǎng)頁(yè)所有url的腳本,對(duì)于學(xué)習(xí)ruby的朋友是個(gè)不錯(cuò)的實(shí)例
    2008-06-06
  • ruby 類(lèi)常量 解析

    ruby 類(lèi)常量 解析

    ruby 類(lèi)常量 解析...
    2007-11-11
  • 最新評(píng)論