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