rudy 继承 概念
在日常生活中,我们对一切对象的分类都是有一定层次的.我们知道所有的猫都是哺乳动物,而所有的哺乳动物又都是动物.小型的类从更大的 类中继承它们的属性.如果一切的哺乳动物要呼吸,那么猫也要呼吸. 在Ruby里,我们可以这样表述这一概念: ruby> class Mammal|def breathe
在日常生活中,我们对一切对象的分类都是有一定层次的.我们知道所有的猫都是哺乳动物,而所有的哺乳动物又都是动物.小型的类从更大的 类中继承它们的属性.如果一切的哺乳动物要呼吸,那么猫也要呼吸. 在Ruby里,我们可以这样表述这一概念: ruby> class Mammal|def breathe
在子类里,我们可以通过重载父类方法来改变实体的行为. ruby> class Human|def identify|print "I'm a person.\n"|end|def train_toll(age)|if age Human.new.identify I'm a person.n
什么叫做一个方法呢?在OO编程里,我们不希望直接从外部操纵一个对象的数据;相反的,对象自己了解如何操纵自身(当被恰当地要求时). 你也许会说我们传递一条消息给一个对象,那些消息就会调用某类行为或者做有意义的回复.这些都会在我们无需了解或关心这个对象内部 工作机制的情况下发生.为我们所允许的可让其执行
现实世界满是对象,我们可以为他们分类.举个例子,非常小的孩子看见狗的时候,不管那是什么种类的,都会叫它们"bow-wow";我们天生有通过种类来了解世界的能力. 在OO编程的术语里,像"狗"这样的一类对象称之为一个类,一些特殊的属于这个类的对象叫作类的实体(instance of that clas
前面,我们说Ruby没有函数,只有方法.而且实际上有不止一种方法.这一节我们介绍访问控制(access controls).想想当我们在"最高层"而不是在一个类的定义里定义一个方法时会发生什么.我们可以把这样的方法设想为在像C那样的传统语言中的函数的类似物. ruby> def square(