Ruby学习笔记(19)_继承

来源:互联网 发布:数据库系统概论 答案 编辑:程序博客网 时间:2024/06/09 21:41

语法:

#class 子类名 < 父类名class SubClassName < ParentClassName

定义一个父类song

class Parent  def initialize(m,n)    @m = m    @n = n    p "parent constructor"    puts "partent #{m} #{n}"  end  def test    p "parent test"  end  def method    p "parent method"  endend

定义一个子类继承父类Son

class Son < Parent  def test    p "son test"  endendson = Son("aa","bb")son.testson.method#=>parent constructor#=>partent aa bb#=>son test#=>parent method
class LittleSon < Parent def initialize(m,n)    @m = m    @n = n    p "littleSon constructor"    puts "littleSon #{m} #{n}"  end  def test    p "littleSon test"  endendls = littleSon("aa","bb")ls.testls.method#=>littleSon constructor#=>littleSon aa bb#=>littleSon test#=>method method

有些被Java情况迷惑了, 其实Ruby的constructor 也是一种方法def initialize~end, Ruby中继承,如果重新就调用重写方法, 没有重写调用父类方法