کلاس‌ها و اشیاء در روبی

تعریف کلاس، ساخت شی با 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

این مبحث بخشی از دوره آموزش کامل روبی است.

ابزارهای مرتبط