以下是关于Ruby面向对象知识的详细攻略:
类和对象
在Ruby中,使用class
关键字定义一个类,并使用new
方法创建一个对象。
class Person
def initialize(name)
@name = name
end
def say_hello
puts \"Hello, #{@name}!\"
end
end
person = Person.new(\"Alice\")
person.say_hello
在上述示例中,我们定义了一个名为Person
的类,其中包含一个构造方法initialize
和一个实例方法say_hello
。通过new
方法创建了一个Person
对象,并调用了say_hello
方法。
继承
Ruby支持类的继承,使用<
符号来指定父类。
class Student < Person
def study
puts \"#{@name} is studying.\"
end
end
student = Student.new(\"Bob\")
student.say_hello
student.study
在上述示例中,我们定义了一个名为Student
的类,它继承自Person
类。Student
类新增了一个study
方法。我们创建了一个Student
对象,并调用了继承自父类的say_hello
方法和新增的study
方法。
模块
Ruby中的模块可以用来组织和复用代码,使用module
关键字定义一个模块。
module Greeting
def say_hi
puts \"Hi!\"
end
end
class Person
include Greeting
end
person = Person.new
person.say_hi
在上述示例中,我们定义了一个名为Greeting
的模块,其中包含一个say_hi
方法。然后,我们在Person
类中使用include
关键字引入了Greeting
模块。最后,我们创建了一个Person
对象,并调用了say_hi
方法。
希望这个攻略对您有所帮助!如果您还有其他问题,请随时提问。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ruby 面向对象知识总结 - Python技术站