Ruby类的创建与使用

作者: tardis
发布时间:2015-07-13 11:31:50

Ruby是一种面向对象编程语言,这意味着它操纵的编程结构称为"对象"

先上代码, 了解类的定义与使用方式

class Computer    $manufacturer = "Mango Computer, Inc."    @@files = {hello: "Hello, world!"}        def initialize(username, password)      @username = username      @password = password    end        def current_user      @username    end        def self.display_files      @@files    end  end    # Make a new Computer instance:  hal = Computer.new("Dave", 12345)    puts "Current user: #{hal.current_user}"  # @username belongs to the hal instance.    puts "Manufacturer: #{$manufacturer}"  # $manufacturer is global! We can get it directly.    puts "Files: #{Computer.display_files}"  # @@files belongs to the Computer class.  ---------------------------------------------------------------------  输出:  Current user: Dave  Manufacturer: Mango Computer, Inc.  Files: {:hello=>"Hello, world!"}  nil

类的定义

class Computer    #class magic here   end

根据Ruby命名约定, 类的名称第一个字母要大写,之后每个单词的首字母大写, 两个单词之间不再用下划线_分隔

class Computer      def initialize                end  end

观察上面类的定义, 类中出现了initialize这个方法, 这个方法用来初始化类的对象,如果没用这个方法,对象就无法生成对象。(对应于c++/java的构造函数)

class Computer    $manufacturer = "Mango Computer, Inc."    @@files = {hello: "Hello, world!"}        def initialize(username, password)      @username = username      @password = password    end  end

在Ruby的世界里, 我们用在一个变量名前加上@表示这个变量是一个实例变量,这意味着这个变量只能被类的实例所访问。

局部变量只作用于某个具体的方法中。

变量名前有两个@, 即@@的变量,叫做类变量,它并不属于类的实例,而是属于类自身(类似C++中的static变量)。

全局变量有两种定义方式, 一种是定义在所有类和方法之外。如果你想把全局变量放入类中, 那么采用另一种定义方式,在变量名之间加上$。

 

标签: Ruby
来源:http://www.cnblogs.com/tardis/p/4004238.html

推荐: