ruby 继承 概念

时间:2021-07-24 09:49:56

在日常生活中,我们对一切对象的分类都是有一定层次的.我们知道所有的猫都是哺乳动物,而所有的哺乳动物又都是动物.小型的类从更大的

类中继承它们的属性.如果一切的哺乳动物要呼吸,那么猫也要呼吸.

在Ruby里,我们可以这样表述这一概念:

ruby>classMammal

|defbreathe

|print"inhaleandexhale\n"

|end

|end

nil

ruby>classCat

|defspeak

|print"Meow\n"

|end

|end

nil

虽然我们并未指明一只猫要怎样呼吸,但因为Cat是定义为Mammal的子类的(在OO术语里,较小的类叫子类,相比较大的类称父类),每一只猫都将继承来自于Mammal类的行为.因此从程序员的角度出发,猫天生就拥有呼吸这一能力;当我们加上speak方法后,我们的猫就能呼吸,也可以发声了.

ruby>tama=Cat.new

#<0xbd80e8>

>

>

>

""

""

>

"'"