Sobes.tech
Intern

Какво е клас в езика Ruby?

sobes.tech AI

Отговор от AI

Класът в Ruby е шаблон или чертеж за създаване на обекти. Той определя структурата (данни/атрибути) и поведението (методи), които ще имат екземплярите на този клас.

Ключови характеристики:

  • Инкапсулация: Обединява данните и методите, работещи с тези данни, в една цялост.
  • Наследяване: Позволява създаването на нови класове (подкласове) въз основа на съществуващи (родителски класове), наследявайки техните характеристики и поведение.
  • Полиморфизъм: Позволява на обекти от различни класове да реагират на един и същи повикване на метод по специфичен за техния тип начин.

Пример за прост клас:

class Dog
  # Конструктор на класа
  def initialize(name, breed)
    @name = name # Атрибут на екземпляра
    @breed = breed # Атрибут на екземпляра
  end

  # Метод на екземпляра
  def bark
    "#{@name} казва Га!"
  end

  # Геттер за атрибута
  def name
    @name
  end
end

# Създаване на екземпляр на класа (обект)
my_dog = Dog.new("Бобик", "Куче без дом")

# Викаме метод на екземпляра
puts my_dog.bark # Изход: Бобик казва Га!
puts my_dog.name # Изход: Бобик

Класовете в Ruby са обекти от първи клас, те също могат да бъдат променяни динамично.