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.zyzy.cn/article/detail/13421/Ruby