主页 > 知识库 > rudy 继承 概念

rudy 继承 概念

热门标签:AI电销机器人 线路 天津外呼系统怎么收费 征服者企业地图标注 外呼线路从哪里出来的 淮安自动外呼系统供应商 中牟外呼系统违法吗 漯河电销 柯城手机地图如何做地图标注 巫师3地图标注魔力之所
在日常生活中,我们对一切对象的分类都是有一定层次的.我们知道所有的猫都是哺乳动物,而所有的哺乳动物又都是动物.小型的类从更大的
类中继承它们的属性.如果一切的哺乳动物要呼吸,那么猫也要呼吸.

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

ruby> class Mammal
    |   def breathe
    |     print "inhale and exhale\n"
    |   end
    | end
   nil
ruby> class CatMammal
    |   def speak
    |     print "Meow\n"
    |   end
    | end
   nil  


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

ruby> tama = Cat.new
   #Cat:0xbd80e8>
ruby> tama.breathe
inhale and exhale
   nil
ruby> tama.speak
Meow
   nil  


也会遇到这样的情况:父类的某些属性不可以被某一特定的子类继承.虽然一般鸟类都会飞,但企鹅是鸟类中不会飞的一个子类.

ruby> class Bird
    |   def preen
    |     print "I am cleaning my feathers."
    |   end
    |   def fly
    |     print "I am flying."
    |   end
    | end
   nil
ruby> class PenguinBird
    |   def fly
    |     fail "Sorry. I'd rather swim."
    |   end
    | end
   nil  


抛开脑尽力疲地为每一个新类定义属性,我们只需要新增或重定义子类和父类之间的区别.继承的这一用法有时也叫做特点编程(differential programming).这是面向对象编程的又一好处. 

标签:内江 甘孜 大庆 河池 克拉玛依 枣庄 西双版纳 南昌

巨人网络通讯声明:本文标题《rudy 继承 概念》,本文关键词  rudy,继承,概念,rudy,继承,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《rudy 继承 概念》相关的同类信息!
  • 本页收集关于rudy 继承 概念的相关信息资讯供网民参考!
  • 推荐文章

    上一篇:分析 rudy 类

    下一篇:rudy 重载方法 详解