首页 > 代码库 > Ruby类的创建与使用

Ruby类的创建与使用

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  endend# 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: DaveManufacturer: Mango Computer, Inc.Files: {:hello=>"Hello, world!"}nil

类的定义

class Computer  #class magic here end

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

class Computer    def initialize            endend

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

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

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

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

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

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

 

Ruby类的创建与使用