美文网首页
Ruby 类常量 + allocate + Self

Ruby 类常量 + allocate + Self

作者: changsanjiang | 来源:发表于2017-09-29 12:30 被阅读54次
    #!/usr/bin/ruby
    # -*- coding: UTF-8 -*-
    
    # 类常量 
        # => 我们可以在类的内部定义一个常量. 常量的定义不需要使用 @ 或 @@. 
        # => 按照惯例, 常量的名称使用大写.
        # => 一旦常量被定义, 就不能改变他的值.
        # => 可以在类的内部直接访问常量, 就像是访问变量一样. 
        # => 如果想要在类的外表访问常量, 就需要使用 classname::constant 
    
    #class Box
    #   BOX_COMPANY = "SJ Inc"
    #   def initialize(w, h)
    #       @width, @height = w, h
    #   end
    #end
    
    #puts Box::BOX_COMPANY
    
    # 使用 allocate 创建对象
        # => 可能有一种情况, 我们想要在不调用对象构造器 initialize 的情况下创建对象. 
        # => 在这种情况下, 我们可以调用 allocate 来创建一个未初始化的对象. 
    #class Box 
    #   def initialize(w, h) 
    #       @width, @height = w, h
    #   end
    #
    #   def to_s
    #       "width = #{@width}, height = #{@height}"
    #   end
    #end
    
    #box = Box.allocate
    #puts box
    
    #box = Box.new(120, 20)
    #puts box
    
    # 类信息
        # => Ruby 的的代码逐行执行, 在不同的上下文中 self 有不同的含义. 
    class Box
        puts "Class of self = #{self.class}"
        puts "Name of self = #{self.name}"
        
        def initialize(w, h)
            @width, @height = w, h
            puts self
        end
    end 
    
    box = Box.new(120, 20)
    
    

    相关文章

      网友评论

          本文标题:Ruby 类常量 + allocate + Self

          本文链接:https://www.haomeiwen.com/subject/ofliextx.html