» Ruby快速入门 » 2. 高级篇 » 2.1

可以使用 class 关键字定义类。

class Animal
  def initialize(name, age)
    @name = name
    @age = age
  end

  def speak
    puts "Hello, I am #{@name} and I am #{@age} years old."
  end
end

# Creating an instance of the Animal class
my_animal = Animal.new("Ruby", 3)

# Calling the speak method on the instance
my_animal.speak

initialize 方法是一个特殊的方法,当你创建类的新实例时会调用它。它用于设置对象的初始状态,可理解为“构造函数”。

在 Ruby 中,实例变量(例如在这个例子中的 @name@age)以 @ 为前缀,用于在对象内部存储状态,可以理解为“成员变量”。

子类

在 Ruby 中,使用 < 字符定义子类。

class Person  
  def initialize(fname, lname)
   @fname = fname
   @lname = lname
  end

  def to_s
     "Person: #@fname #@lname"
  end
end
person = Person.new("Carl", "Max")
puts person # => Person: Carl Max


class Employee < Person
  def initialize(fname, lname, position)
    super(fname,lname)
    @position = position
  end

  def to_s
     super + ", #@position"
  end
end
employee = Employee.new("Carl", "Max", "CTO")

puts employee # => Person: Carl Max, CTO
puts employee.position # => CTO

代码挑战

创建一个 Ruby 类 BankAccount,用其表示一个简单的银行账户。

Loading...
> 此处输出代码运行结果
上页
下页