Ruby循序渐进(二): 重写类的to_s方法

简介: # override to_s methodclass Thing    def set_name(aName)        @name = aName    end        def get_name        return @name    endendclass Trea...
#  override to_s method


class Thing
     def set_name(aName)
        @name = aName
    end
    
     def get_name
         return @name
    end
end

class Treasure
     def initialize(aName, aDescription)
      @name = aName
      @description = aDescription
    end
    
     def to_s  #  override default to_s method
         " The #{@name} Treasure is #{@description}\n "
    end
end

thing1 = Thing.new
thing1.set_name( " A lovely Thing ")
puts thing1.get_name
puts thing1.to_s

t1 = Treasure.new( " Sword "" an Elvish weapon forged of gold ")
t2 = Treasure.new( " Ring "" a magic ring of great power ")
puts t1.to_s
puts t2.to_s
#  The inspect method lets you look inside an object
puts  " Inspecting 1st treasure: #{t1.inspect} "
目录
相关文章
|
应用服务中间件 Apache nginx
深入探索研究Ruby CGI方法
【10月更文挑战第2天】
135 4
|
应用服务中间件 Apache nginx
探索研究Ruby CGI方法
【9月更文挑战第2天】
131 4
|
开发者 编解码
界面适应奥秘:从自适应布局到图片管理,Xamarin响应式设计全解析
【8月更文挑战第31天】在 Xamarin 的世界里,构建灵活且适应性强的界面是每位开发者的必修课。本文将带您探索 Xamarin 的响应式设计技巧,包括自适应布局、设备服务协商和高效图片管理,帮助您的应用在各种设备上表现出色。通过 Grid 和 StackLayout 实现弹性空间分配,利用 Device 类检测设备类型以加载最优布局,以及使用 Image 控件自动选择合适图片资源,让您轻松应对不同屏幕尺寸的挑战。掌握这些技巧,让您的应用在多变的市场中持续领先。
133 0
|
开发者 测试技术 Android开发
Xamarin 开发者的五大常见问题及解决方案:从环境搭建到性能优化,全面解析高效跨平台应用开发的技巧与代码实例
【8月更文挑战第31天】Xamarin 开发者常遇问题及解决方案覆盖环境搭建至应用发布全流程,助新手克服技术难关。首先需正确安装配置 Visual Studio 及 Xamarin 支持,设置 iOS/Android 测试环境。利用 Xamarin.Forms 和 XAML 实现高效跨平台开发,共享 UI 和业务逻辑代码。针对性能优化,采取减少 UI 更新、缓存计算结果等措施,复杂问题则借助 Xamarin Profiler 分析。
190 0
|
设计模式 缓存 测试技术
Ruby代理模式之谜:如何用简单的方法创建灵活的对象接口?
【8月更文挑战第31天】代理模式是一种设计模式,通过创建代理对象来控制对目标对象的访问,可在Ruby中通过Proc对象、模块混入等方式实现。本文介绍了代理模式的概念及其实现方法,并提供了缓存、验证和日志代理等应用场景的示例代码,帮助开发者更好地理解和运用这一模式,提升程序灵活性与健壮性。
111 0
|
开发者 Ruby
【揭秘Ruby编程奥秘】对象、类与方法背后的秘密:掌控核心概念,轻松玩转面向对象编程!
【8月更文挑战第31天】Ruby是一种纯面向对象的语言,几乎所有内容都是对象。本文通过具体示例介绍Ruby的核心概念:对象、类与方法。对象是基本单位,一切皆对象;类定义对象的属性和行为;方法是对象的行为,在类中定义;继承允许子类继承父类的属性和方法;封装隐藏对象内部状态;多态允许子类重写父类方法;模块可被多个类共享。掌握这些概念有助于编写高效、可维护的代码。
215 0