在 Ruby 中,类是对象的蓝图,而对象是类的实例。以下是关于 Ruby 类和对象的基本概念:

1. 定义类:
class Person
  # 属性的读写器方法
  attr_accessor :name, :age

  # 初始化方法
  def initialize(name, age)
    @name = name
    @age = age
  end

  # 实例方法
  def say_hello
    puts "Hello, #{@name}!"
  end
end

2. 创建对象:
# 创建 Person 类的实例
person = Person.new("John", 30)

3. 访问属性和调用方法:
# 访问属性
puts person.name
puts person.age

# 调用方法
person.say_hello

4. 类的继承:
class Student < Person
  # 可以定义新的属性和方法
  attr_accessor :student_id

  # 可以重写父类的方法
  def say_hello
    puts "Hello, I'm a student named #{@name}!"
  end
end

5. 类方法和类变量:
class MathOperations
  # 类变量
  @@pi = 3.14

  # 类方法
  def self.calculate_circle_area(radius)
    @@pi * radius**2
  end
end

# 调用类方法
area = MathOperations.calculate_circle_area(5)
puts "Circle area: #{area}"

6. 访问控制:
class MyClass
  # 公有方法
  def public_method
    puts "This is a public method."
  end

  private

  # 私有方法
  def private_method
    puts "This is a private method."
  end
end

obj = MyClass.new
obj.public_method
# obj.private_method  # 不能调用私有方法

7. Getter 和 Setter 方法:
class Car
  # 只读属性的 Getter 方法
  attr_reader :model

  # 只写属性的 Setter 方法
  attr_writer :year

  # 读写属性的 Getter 和 Setter 方法
  attr_accessor :color
end

以上是 Ruby 中类和对象的基本用法。Ruby 的面向对象编程提供了很大的灵活性,支持混入(mixins)、模块(modules)、多态(polymorphism)等特性,使得代码易读、易维护。在实际开发中,合理设计类和对象的关系可以提高代码的可重用性和可扩展性。


转载请注明出处:http://www.pingtaimeng.com/article/detail/13421/Ruby