• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Ruby之旅(四)类的继承

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

直接上代码
Rectangle.rb

class Rectangle
  attr_accessor :width
  attr_accessor :height
  
  
def initialize(wdth, hgt)
    @width 
= wdth
    @height 
= hgt
  end
  
  
def area()
    
return @width * @height
  end
  
  
def +(addRectangle)
    
return area() + addRectangle.area()
  end
end


Square.rb

require "Rectangle" # or require "Rectangle.rb"

class Square < Rectangle
  
def initialize(size)
    @width 
= size
    @height 
= size
  end
end

= Square.new(2)
puts s.area 
# output 4


我们可以看到Square继承了Rectangle类,并且拥有新的initalize方法。
这样 可以记住两个东西 一个是继承的符号是<,另一个是require方法可以包含另外的ruby源文件。

在ruby中,可以把方法的定义放在class外面,比如

def fell?()
  puts 
"I fell fine."
end
fell?()

这种写法好像是全局函数,其实并不是全局函数,而是给基类Object增加了一个fell?方法,因为任何类都从Object继承而来,所以这个时候任何类都将支持这个fell?方法。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ruby设计模式之【观察者】模式1————简单的观察者模式发布时间:2022-07-14
下一篇:
Ruby在Windows上安装发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap