在日常生活中,我們對一切對象的分類都是有一定層次的.我們知道所有的貓都是哺乳動物,而所有的哺乳動物又都是動物.小型的類從更大的
類中繼承它們的屬性.如果一切的哺乳動物要呼吸,那么貓也要呼吸.
在Ruby里,我們可以這樣表述這一概念:
ruby>?class?Mammal
????|???def?breathe
????|?????print?"inhale?and?exhale/n"
????|???end
????|?end
???nil
ruby>?class?Cat
????|?????print?"Meow/n"
????|???end
????|?end
???nil??
雖然我們并未指明一只貓要怎樣呼吸,但因為Cat是定義為Mammal的子類的(在OO術語里,較小的類叫子類,相比較大的類稱父類),每一只貓都將繼承來自于Mammal類的行為.因此從程序員的角度出發,貓天生就擁有呼吸這一能力;當我們加上speak方法后,我們的貓就能呼吸,也可以發聲了.
ruby>?tama?=?Cat.new
???#
?
??
???
?
?????
??
????????
??????????????
???????
????????
????????????
???????
?????
???
??
?????????????
???????
?????
?????
??0xbd80e8>
?
新聞熱點
疑難解答
圖片精選