کلاسها و اشیاء در روبی
تعریف کلاس، ساخت شی با new، متد initialize و متغیرهای نمونه (@) در روبی
کلاس چیست؟
کلاس (Class) مثل یک قالب یا نقشه است که اشیاء از روی آن ساخته میشوند. کلاس مشخص میکند که یک شی چه ویژگیها (attributes) و چه رفتارهایی (methods) دارد.
تعریف کلاس
class Person
def initialize(name, age)
@name = name
@age = age
end
def greet
puts "سلام، من #{@name} هستم"
end
end
ساخت شی (Object)
# ساخت شی جدید
person1 = Person.new("علی", 25)
person2 = Person.new("مریم", 30)
# فراخوانی متد
person1.greet # => سلام، من علی هستم
person2.greet # => سلام، من مریم هستم
متد initialize (Constructor)
initialize متد سازنده است — هنگام new بهطور خودکار فراخوانی میشود:
class Car
def initialize(brand, model)
@brand = brand
@model = model
@engine_on = false
puts "خودرو #{@brand} #{@model} ساخته شد"
end
end
car = Car.new("پراید", "131") # => خودرو پراید 131 ساخته شد
متغیرهای نمونه (@)
متغیرهای نمونه با @ شروع میشوند و مخصوص هر شی هستند:
person1 = Person.new("علی", 25)
person2 = Person.new("مریم", 30)
# هر شی متغیرهای نمونه مستقل دارد
متدها در کلاس
class Calculator
def add(a, b)
a + b
end
def multiply(a, b)
a * b
end
end
calc = Calculator.new
puts calc.add(5, 3) # => 8
puts calc.multiply(4, 6) # => 24
self — اشاره به شی فعلی
class Person
def initialize(name)
@name = name
end
def name
@name
end
def introduce
"من #{self.name} هستم"
end
end
خلاصه
| مفهوم | سینتکس |
|---|---|
| تعریف کلاس | class Name...end |
| ساخت شی | ClassName.new |
| سازنده | def initialize |
| متغیر نمونه | @name |
| متد | def method_name |
| شی فعلی | self |
این مبحث بخشی از دوره آموزش کامل روبی است.