在Ruby中,面向?qū)ο缶幊蹋∣OP)是通過使用類和對象來實現(xiàn)的。要擴展Ruby的面向?qū)ο缶幊?,你可以遵循以下方法?/p>
class
關(guān)鍵字,后跟類名。例如:class MyClass
# 類的屬性和方法
end
attr_accessor
和attr_reader
方法為類添加屬性和讀取器方法。例如:class MyClass
attr_accessor :name, :age
# 讀取器方法
def name
@name
end
# 設(shè)置器方法
def name=(new_name)
@name = new_name
end
end
class MyClass
# 實例方法
def greet
puts "Hello, my name is #{@name}."
end
# 類方法
def self.greet_all(objects)
objects.each do |object|
object.greet
end
end
end
class
關(guān)鍵字和extends
方法來創(chuàng)建一個類的子類。子類繼承了父類的屬性和方法,并可以覆蓋或擴展它們。例如:class Person
attr_accessor :name, :age
def initialize(name, age)
@name = name
@age = age
end
def greet
puts "Hello, my name is #{@name}."
end
end
class Student < Person
attr_accessor :school
def initialize(name, age, school)
super(name, age)
@school = school
end
def study
puts "#{@name} is studying."
end
end
module
關(guān)鍵字來創(chuàng)建一個模塊。模塊是一組方法的集合,可以包含在類或?qū)嵗?。模塊可以被其他類包含,從而實現(xiàn)代碼的復(fù)用和模塊化。例如:module MyModule
def my_method
puts "Hello from MyModule!"
end
end
class MyClass
include MyModule
def my_method
super
end
end
通過以上方法,你可以在Ruby中擴展面向?qū)ο缶幊痰墓δ?。不斷實踐和探索更多的OOP概念,如封裝、多態(tài)等,將有助于你更好地理解和應(yīng)用Ruby的面向?qū)ο缶幊獭?/p>