类
可以使用 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...
> 此处输出代码运行结果