返回
Ruby 中的对象基础
后端
2023-10-06 19:04:08
Ruby 对象
在 Ruby 中,所有的数据结构和值都是对象,包括基本的数字和字符串以及数组 Array、散列表 Hash 这样的复杂数据结构。对象是表示现实世界实体或概念的数据结构,它具有状态(属性)和行为(方法)。
每个对象都能够响应一组特定的消息。消息是对象可以执行的操作。对象能够接收的每个消息都有一个相应的方法。例如,String 对象可以响应消息 length,它返回字符串的长度。
消息传递
消息传递是 Ruby 中对象交互的主要机制。要向对象发送消息,只需使用点号语法后跟消息名称即可。例如,以下代码向一个字符串对象发送 length 消息:
"Hello".length # => 5
实例变量
实例变量是与特定对象关联的数据。它们以一个 @
符号开头,例如 @name
。实例变量只能在创建它们的实例中访问。
class Person
def initialize(name)
@name = name
end
def greet
"Hello, my name is #{@name}!"
end
end
person = Person.new("John")
person.greet # => "Hello, my name is John!"
类方法
类方法是与类本身(而不是特定实例)关联的方法。它们以 self. 前缀,例如 self.all。类方法通常用于访问类状态或创建新实例。
class Person
def self.all
# 返回所有 Person 实例的数组
end
def self.create(name)
# 创建一个新的 Person 实例
end
end
Person.all # => [<Person>, <Person>, ...]
Person.create("John") # => <Person>
模块
模块是 Ruby 中代码重用的机制。它们允许将相关的方法和常量分组在一起,并将其包含到其他类和模块中。
module Greeter
def greet
"Hello!"
end
end
class Person
include Greeter
def name
"John"
end
end
person = Person.new
person.greet # => "Hello!"
深入探索
在本文中,我们介绍了 Ruby 对象基础的几个基本概念。通过更深入地了解对象、消息传递、实例变量、类方法和模块,你可以构建更强大、更灵活的 Ruby 程序。